A terminal for Honcho — memory that reasons.
Project description
██╗ ██╗ ██████╗ ███╗ ██╗ ██████╗██╗ ██╗ ██████╗
██║ ██║██╔═══██╗████╗ ██║██╔════╝██║ ██║██╔═══██╗
███████║██║ ██║██╔██╗ ██║██║ ███████║██║ ██║
██╔══██║██║ ██║██║╚██╗██║██║ ██╔══██║██║ ██║
██║ ██║╚██████╔╝██║ ╚████║╚██████╗██║ ██║╚██████╔╝
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝
honcho-cli
A terminal for Honcho — memory that reasons.
Install
As a standalone tool (recommended):
uv tool install honcho-cli
As an extra on the Honcho SDK (if you want both the SDK and the CLI in one project):
uv add honcho-ai[cli]
# or
pip install honcho-ai[cli]
Either way, you'll get the honcho command on your PATH.
Quick Start
honcho init # confirm/set apiKey + Honcho URL in ~/.honcho/config.json
honcho doctor # verify your config + connectivity
honcho # show banner + command list
honcho init reads apiKey and environmentUrl from the top-level of ~/.honcho/config.json (the same file other Honcho tools — plugins, host integrations — share). If both are present, it confirms them with you; if either is missing (or you decline), it prompts for the missing value(s) and writes them back. Host-specific entries under hosts are left untouched.
Per-command scoping (workspace / peer / session) is handled via -w / -p / -s flags or HONCHO_* env vars — not persisted as CLI defaults.
Commands
Onboarding
| Command | Description |
|---|---|
honcho init |
Confirm/set apiKey + environmentUrl in ~/.honcho/config.json |
honcho doctor |
Health check: config, connectivity, workspace, peer, queue |
Workspaces
| Command | Description |
|---|---|
honcho workspace list |
List accessible workspaces |
honcho workspace create <id> |
Create or get a workspace |
honcho workspace inspect |
Peers, sessions, config for a workspace |
honcho workspace search <query> |
Search messages across workspace |
honcho workspace queue-status |
Deriver queue status (filter with --observer / --sender) |
honcho workspace delete <id> |
Delete a workspace. Use --dry-run to preview, --cascade to also delete sessions, --yes to skip the confirm prompt |
Peers
| Command | Description |
|---|---|
honcho peer list |
List peers in the workspace |
honcho peer create <id> |
Create or get a peer |
honcho peer inspect <id> |
Card, session count, recent conclusions |
honcho peer card <id> |
Raw peer card content |
honcho peer chat <query> |
Query the dialectic about a peer (peer via -p / HONCHO_PEER_ID) |
honcho peer representation <id> |
Formatted representation |
honcho peer search <query> |
Search a peer's messages (peer via -p / HONCHO_PEER_ID) |
honcho peer get-metadata <id> / set-metadata |
Metadata operations |
Sessions
| Command | Description |
|---|---|
honcho session list |
List sessions in the workspace (filter with --peer/-p) |
honcho session create <id> |
Create or get a session (optionally --peers to add peers, --metadata) |
honcho session inspect <id> |
Peers, message count, summaries, config |
honcho session context <id> |
What an agent would see |
honcho session summaries <id> |
Short + long summaries |
honcho session peers <id> / add-peers / remove-peers |
Peer management |
honcho session search <id> <query> |
Search messages in a session |
honcho session representation <id> |
Peer representation in a session |
honcho session get-metadata <id> / set-metadata |
Metadata operations |
honcho session delete <id> |
Destructive; requires --yes |
Messages
| Command | Description |
|---|---|
honcho message list |
List messages in a session (session via -s / HONCHO_SESSION_ID) |
honcho message create <content> |
Create a message (requires --peer/-p, session via -s) |
honcho message get <id> |
Get a single message (session via -s / HONCHO_SESSION_ID) |
Conclusions (observations)
| Command | Description |
|---|---|
honcho conclusion list |
List conclusions (filter with --observer / --observed) |
honcho conclusion search <query> |
Semantic search (filter with --observer / --observed) |
honcho conclusion create |
Create a conclusion |
honcho conclusion delete <id> |
Delete a conclusion |
Config
| Command | Description |
|---|---|
honcho config |
Show current config (API key redacted) |
Agent Usage
All commands output JSON when stdout isn't a TTY, or when --json is forced.
Collection commands emit JSON arrays, and single-resource commands emit JSON objects:
honcho peer list --json
honcho workspace inspect --json | jq '.peers'
honcho doctor --json # machine-parseable health checklist
Errors are structured:
{
"error": {
"code": "PEER_NOT_FOUND",
"message": "Peer 'abc' not found in workspace 'my-ws'",
"details": {"workspace_id": "my-ws", "peer_id": "abc"}
}
}
Non-interactive onboarding:
# Pre-seed via flags / env vars; init still prompts for anything missing
HONCHO_API_KEY=hch-v3-xxx honcho init --base-url https://api.honcho.dev
Environment Variables
All HONCHO_* env vars work at runtime — no config file required.
Precedence (highest first): flag → env var → config file → default.
| Variable | Flag | Description |
|---|---|---|
HONCHO_API_KEY |
--api-key (init) |
Admin JWT |
HONCHO_BASE_URL |
--base-url (init) |
API URL |
HONCHO_WORKSPACE_ID |
-w / --workspace |
Workspace scope |
HONCHO_PEER_ID |
-p / --peer |
Peer scope |
HONCHO_SESSION_ID |
-s / --session |
Session scope |
HONCHO_JSON |
--json |
Force JSON output (1 / true) |
# Per-command flags
honcho peer card -w prod -p user
# Or export once per shell
export HONCHO_WORKSPACE_ID=prod
export HONCHO_PEER_ID=user
honcho peer card
# One-off against a different server
HONCHO_BASE_URL=http://localhost:8000 honcho workspace list
# CI/CD — env vars only, no config file needed
export HONCHO_API_KEY=hch-v3-xxx
export HONCHO_BASE_URL=https://api.honcho.dev
honcho workspace list
Configuration
The CLI shares ~/.honcho/config.json with sibling Honcho tools. It owns two
top-level keys: apiKey and environmentUrl (the full Honcho API URL, e.g.
https://api.honcho.dev or http://localhost:8000). Everything else at the
top level — hosts, sessions, saveMessages, sessionStrategy, etc. —
is left untouched.
{
"apiKey": "hch-v3-...",
"environmentUrl": "https://api.honcho.dev",
"hosts": { "claude_code": { "...": "..." } }
}
workspace_id / peer_id / session_id are per-command only — never
persisted to the config file.
Development
Install from source in editable mode so changes are picked up live:
git clone https://github.com/plastic-labs/honcho
cd honcho
uv tool install --force --editable --from ./honcho-cli honcho-cli
Re-run any time — changes to honcho-cli/src/ are reflected immediately without reinstalling.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file honcho_cli-0.1.0.tar.gz.
File metadata
- Download URL: honcho_cli-0.1.0.tar.gz
- Upload date:
- Size: 43.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
924609bd901be92196bcc1dbd7fa87ceeba6050e591dff95c5bf68b8bcbc0568
|
|
| MD5 |
6d808ae12b715473f8ea3121aa52925d
|
|
| BLAKE2b-256 |
0460ccd0426ce266db34ab53cc7ffdc42b95bd7fa332e5725763de178a38777f
|
File details
Details for the file honcho_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: honcho_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
558b159556b360f5e479f6b39edfdaa9a53aa67b34bae2307ba0f90468f3df1c
|
|
| MD5 |
9cb134b72bdaae7bb5ecbbf955fa3a35
|
|
| BLAKE2b-256 |
2f3becd01f804f4f959beb1b7983149329450fb6a3c31661e3254edd2528794d
|