Skip to main content

Install

This only installs the honcho command. It does not start a server. Use honcho start --setup (Docker + an LLM provider key) when you want a local stack.

Quick Start

honcho init authenticates the CLI against a Honcho server. It does not configure the LLM key a local stack needs — that is honcho start --setup.

Local stack

honcho start --setup basic is the fastest way to run Honcho on your machine. It does not require cloning the Honcho repo. The wizard prompts for an LLM provider and API key, writes them into the profile .env, pulls ghcr.io/plastic-labs/honcho:latest, pins that digest, and starts API + deriver + Postgres + Redis via Docker. Default profile is local (--profile / HONCHO_PROFILE). First start copies the image config.toml.example into the profile directory; later starts leave that file alone so your edits persist — including when you re-pin the image. Delete config.toml yourself if you want a fresh copy from a new image. Pass --image to pin a different tag or digest. Ports bind to 127.0.0.1; if 8000/5432/6379 are taken, the CLI remaps them (or pass --api-port / --db-port / --redis-port). Auth is off (AUTH_USE_AUTH=false). Pass --setup basic or --setup advanced for an interactive wizard that writes curated LLM/feature overrides into the profile .env (environment variables win over config.toml). This is TTY-only. basic covers provider and chat model; advanced also covers embeddings, deriver/dialectic models, dreams, and deriver flush. Re-running --setup while the stack is up recreates the API and deriver containers. This does not change environmentUrl in the shared config file. To talk to the local stack:
To develop the server (live reload, from-source image), see Local Environment Setup.

Configuration

The CLI resolves config in this order: flag → env var → config file → default.

Persisted config

The CLI shares ~/.honcho/config.json with sibling Honcho tools. It owns apiKey and environmentUrl at the top level — everything else (hosts, sessions, etc.) is written by other tools and left untouched on save. On managed servers that advertise the device grant in OAuth metadata, honcho init can log you in via the browser; tokens auto-refresh and are stored under oauth without deleting a shared apiKey.
Per-command targeting (workspace / peer / session) is handled via -w / -p / -s flags or HONCHO_* env vars. Not persisted as CLI defaults. This is deliberate: every invocation is explicit about what it operates on.

Runtime overrides

Workspace, peer, and session targeting are per-command only — pass flags or HONCHO_* env vars on every invocation.

Output & exit codes

Every command adapts its output to the context:
  • TTY — human-readable tables via Rich.
  • Piped or redirected — JSON automatically (detected via isatty).
  • --json flag / HONCHO_JSON=1 — force JSON regardless of terminal.
Interactive sessions may print a one-line upgrade hint on stderr at most once a day when a newer honcho-cli is on PyPI (uv tool upgrade honcho-cli). JSON/piped output skips it; set HONCHO_NO_UPDATE_CHECK=1 to disable it. Collection commands emit JSON arrays; single-resource commands emit JSON objects. Errors are always structured:
CI pipelines and agent runtimes can branch on these without parsing stderr.

Command reference

honcho conclusion

List, search, create, and delete peer conclusions (Honcho’s memory atoms).
Create a conclusion.
string
required
string
Observer peer ID.
string
Observed peer ID.
string
Session context. Short alias: -s.
Delete a conclusion.
string
required
string
Observer peer ID.
string
Observed peer ID.
boolean
Skip confirmation. Short alias: -y.
List conclusions.
string
Observer peer ID.
string
Observed peer ID.
number
default:"10"
Max results.
Semantic search over conclusions.
string
required
string
Observer peer ID.
string
Observed peer ID.
number
default:"10"
Max results.

honcho config

Inspect CLI configuration.

honcho doctor

Verify config and connectivity. Scope with -w / -p to check workspace, peer, and queue health.

honcho help

Show help message.

honcho init

Set API key and server URL in ~/.honcho/config.json. Press Enter to keep the current value or type a replacement. Workspace / peer / session scoping is per-command via -w / -p / -s or HONCHO_* env vars — never persisted.
string
API key (admin JWT).
string

honcho message

List, create, and get messages within a session.
Create a message in a session.
string
required
string
required
Peer ID of the message sender. Short alias: -p.
string
JSON metadata to associate with the message.
string
Session ID. Short alias: -s.
Get a single message by ID.
string
required
string
Session ID. Short alias: -s.
List messages in a session. Scoped to a peer with -p.
string
number
default:"20"
Number of recent messages.
boolean
Show oldest first (default is newest first).
boolean
Show only IDs, peer, token count, and created_at (no content).
string
Filter by peer ID. Short alias: -p.

honcho peer

List, create, chat with, search, and manage peers and their representations.
Get raw peer card content.
string
string
Target peer for relationship card.
Query the dialectic about a peer.
string
required
string
Target peer for perspective.
string
Reasoning level: minimal, low, medium, high, max. Short alias: -r.
Create or get a peer.
string
required
boolean
Whether Honcho will form a representation of this peer. Negate with --no-observe-me.
string
JSON metadata to associate with the peer.
Get metadata for a peer.
string
Inspect a peer: card, session count, recent conclusions.
string
List all peers in the workspace.
Get the formatted representation for a peer.
string
string
Target peer to get representation about.
string
Semantic search query to filter conclusions.
number
Maximum number of conclusions to include.
Search a peer’s messages.
string
required
number
default:"10"
Max results.
Set metadata for a peer.
string
required
string
Peer ID (uses default if omitted). Short alias: -p.

honcho session

List, inspect, view, create, delete, and manage conversation sessions and their peers.
Add peers to a session.
string
required
string
required
Get session context (what an agent would see).
string
number
Token budget.
boolean
default:"true"
Include summary. Negate with --no-summary.
Create or get a session.
string
required
string
Comma-separated peer IDs to add to the session.
string
JSON metadata to associate with the session.
Delete a session and all its data. Destructive — requires —yes or interactive confirm.
string
boolean
Skip confirmation. Short alias: -y.
Get metadata for a session.
string
Inspect a session: peers, message count, summaries, config.
string
List sessions in the workspace.
string
Filter by peer. Short alias: -p.
List peers in a session.
string
Remove peers from a session.
string
required
string
required
Get the representation of a peer within a session.
string
required
string
string
Target peer (what peer_id knows about target).
string
Semantic search query to filter conclusions.
number
Maximum number of conclusions to include.
Search messages in a session.
string
required
string
number
default:"10"
Max results.
Set metadata for a session.
string
string
required
JSON metadata to set (e.g. ’{“key”: “value”}’). Short alias: -d.
Get session summaries (short + long).
string
View a session transcript as a chat log.Modes (pick one):
  • default / —last N: tail of the conversation (most recent N)
  • —page N [—size M]: page through the full transcript
  • —all: every message
Paging follows the requested order: —page 1 starts at the oldest message, or the newest with —reverse.Human mode prints a row-delimited table. JSON mode emits the message list (same shape as message list).
string
number
Show only the N most recent messages (default when no —page/—all: 50).
number
1-indexed page of the full transcript. Use for page 2+.
number
Messages per page; requires —page (1-100, default: 50).
boolean
Show the full transcript (every page).
boolean
Newest first (default is chronological: oldest at top).
boolean
Include message IDs in the transcript.
string
Filter by peer ID. Short alias: -p.

honcho start

Start a local Honcho stack (API, deriver, Postgres, Redis). Requires Docker. Uses cloud LLM providers. Does not change the CLI’s configured server URL — pass HONCHO_BASE_URL to talk to this stack. --setup basic or --setup advanced runs an interactive config wizard.
string
default:"local"
Local stack profile name.
string
Host port for the API.
string
Host port for Postgres.
string
Host port for Redis.
string
Interactive config wizard: basic (provider/model) or advanced (embeddings, deriver, dialectic, dreams, flush).
string
Honcho image to pull and pin by digest (default: ghcr.io/plastic-labs/honcho:latest).
string
default:"180"
Seconds to wait for /health after compose up.

honcho status

Show local stack endpoints and container health. With no --profile, lists every stack under ~/.honcho/profiles/.
string
Limit to this profile. Omit to show every local stack.

honcho stop

Stop the local stack started by honcho start. Keeps data unless —wipe.
string
default:"local"
Local stack profile name.
boolean
Also delete volumes (Postgres data).

honcho workspace

List, create, inspect, delete, and search workspaces.
Create or get a workspace.
string
required
string
JSON metadata to associate with the workspace.
Delete a workspace. Use —dry-run first to see what will be deleted.Requires —yes to skip confirmation, or will prompt interactively. If sessions exist, requires —cascade to delete them first.
string
required
boolean
Skip confirmation prompt (for scripted/agent use). Short alias: -y.
boolean
Delete all sessions before deleting the workspace.
boolean
Show what would be deleted without deleting.
Inspect a workspace: peers, sessions, config.
string
List all accessible workspaces.
Get queue processing status.
string
Filter by observer peer.
string
Filter by sender peer.
Search messages across workspace.
string
required
number
default:"10"
Max results.

Workflows

Inspect an unfamiliar workspace

When you pick up a workspace and need to orient — start broad, narrow to the peer and session you care about.
1

Survey the workspace

2

Inspect a specific peer

3

Review the peer's memory

4

Debug a session

honcho session context shows exactly what an agent would receive at inference time — check it before honcho peer chat if a response surprises you. honcho session view shows the raw transcript that context was built from; it prints content verbatim, so tag-delimited and multi-line messages appear exactly as stored.

A peer isn’t learning

If new messages aren’t producing new conclusions, work down the diagnostic ladder.

Session context looks wrong

When an agent’s responses don’t reflect what you expect it to know.

Dialectic returns bad answers

When honcho peer chat or the dialectic API is hallucinating or missing context.

Scripting & automation

Pipe commands into jq for inline transforms, or set HONCHO_* env vars for a CI/CD environment with no config file:
Non-interactive onboarding: