agsm

command module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2026 License: MIT Imports: 4 Imported by: 0

README

AGSM

AGSM is a terminal UI for discovering, browsing, and resuming coding-agent sessions from one place.

AGSM screenshot

Current public scope:

  • OpenCode and Claude Code support
  • unified session list across supported agent storage backends
  • resume, refresh, rename, delete, and new-session launch flow
  • adaptive terminal theming with a full-screen TUI

Status

AGSM is early v0.x software.

The current release supports OpenCode and Claude Code. Codex support is still planned, but not included yet.

Features

  • Full-screen TUI for OpenCode and Claude Code sessions
  • Session discovery from both:
    • OpenCode JSON session storage
    • OpenCode SQLite-backed session storage
    • Claude Code JSONL session storage
  • Search and quick navigation
  • Resume selected session in its source agent CLI
  • Rename sessions with AGSM-managed metadata
  • Delete sessions from the UI
  • Start a new session from a chosen directory with an explicit agent picker

Requirements

  • opencode installed and available on PATH for OpenCode support
  • claude installed and available on PATH for Claude Code support
  • macOS or Linux

Install

With Homebrew:

brew tap 3ux1n3/tap
brew install agsm

From source with Go:

go install github.com/3ux1n3/agsm@latest

Or download a prebuilt binary from the GitHub Releases page.

Run

If installed with go install:

agsm

Show the build version:

agsm --version

From this repository:

make run

Configuration

Runtime config follows os.UserConfigDir() for your platform.

  • macOS:
    • config file: ~/Library/Application Support/agsm/config.toml
    • metadata file: ~/Library/Application Support/agsm/metadata.json
  • Linux:
    • config file: ~/.config/agsm/config.toml
    • metadata file: ~/.config/agsm/metadata.json

You can override the config directory entirely with AGSM_CONFIG_HOME.

This repository also includes a local .config/ directory for project-owned examples and future development config.

Example config:

sort_by = "last_active"
sort_order = "desc"

[agents.opencode]
enabled = true
# session_path = "/Users/you/.local/share/opencode/storage/session"

[agents.claude]
enabled = true
# session_path = "/Users/you/.claude/projects"

[ui]
nerd_fonts = false
color_scheme = "auto"

See .config/agsm.example.toml for the committed example file.

Notes

  • OpenCode session discovery reads both legacy JSON storage and current DB-backed sessions.
  • Claude Code session discovery reads local JSONL session files from ~/.claude/projects by default.
  • AGSM stores custom session names in its own metadata file instead of modifying OpenCode session data.
  • New session creation includes an explicit agent selector in the modal.
  • Claude session deletion currently removes the discovered local session file only.

Keybindings

  • / : move selection
  • Enter: resume selected session
  • /: search
  • Esc: clear search or cancel modal
  • Ctrl+N: new session
  • Ctrl+R: rename session
  • Ctrl+D: delete session
  • Ctrl+L: refresh
  • q: quit

New session modal:

  • Tab: move between fields
  • / : switch agent
  • Enter: launch the session

Development

Useful commands:

make fmt
make test
make build
make run

Roadmap

  • Add GitHub Actions CI
  • Add CONTRIBUTING.md
  • Add issue templates
  • Add pull request template
  • Add Codex adapter
  • Add screenshots and demo GIF to README

License

MIT. See LICENSE.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
tui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL