AgenCLI: a multi-agent terminal workspace built in Python.
Project description
agencode
agencode is a keyboard-first terminal workspace for multi-agent coding, file operations, subagent management, and skills-driven automation.
It ships as a Python CLI with:
- a Textual TUI for day-to-day use
- a DeepAgents + LangGraph runtime
- project-local state under
.agencode/ - saved subagents managed under a single supervisor agent
- built-in local filesystem and shell execution support
- Skills CLI integration for browsing and installing agent skills
What You Get
- Project-local workspace sessions
- Running
agencode tuiinside a folder creates.agencode/there on first run. - That folder stores project config, sessions, saved subagents, and local skill state.
- Running
- Keyboard-first TUI
- Inline terminal mode by default
- command palette
- slash commands
- history loading
- per-thread skill attachment
- Supervisor + subagents model
- one top-level
supervisor-agent - user-created saved subagents attached under the supervisor
- subagent creation and editing from the TUI
- one top-level
- Skills integration
- browse and search marketplace skills
- install skills through
npx skills - attach skills to subagents
- attach skills temporarily to a single thread
- Human-in-the-loop safety
- plan mode
- approval mode
- preflight prompts for risky/destructive actions
- retry/input prompts when the runtime needs user guidance
Install
pip install agencode
Then run:
agencode --help
agencode tui
First Run
Run agencode tui inside the project you want to work on:
cd /path/to/project
agencode tui
On first run, agencode creates:
/path/to/project/.agencode/
That directory contains project-local state such as:
.agencode/config.toml.agencode/agents/.agencode/sessions/.agencode/skills/
This means each project can keep its own local agent setup and session history.
TUI Basics
Inside the TUI:
- type a prompt and press
Enter - use slash commands for management flows
- use
Ctrl+Kfor the command palette - use
Escto interrupt a running agent - use
Ctrl+Cto copy selected text - use
Ctrl+Vto paste into the prompt
If you click around the UI and start typing, focus returns to the prompt automatically.
TUI Slash Commands
Session and context
/resume- Resume the latest thread or a selected previous thread.
/history- Open the thread picker and load a past conversation into the transcript.
/fork- Fork the current thread into a new thread.
/reset- Reset the current session back to a fresh default thread.
/compact- Summarize the current chat into a compact session note for later prompts.
/mention <path>- Attach a file or folder as extra prompt context.
@path- Use path autocomplete in the prompt and attach on send.
Agent and execution control
/agent- Open the subagent manager.
/build- Build the selected agent graph.
/plan on|off- Enable or disable strict plan-first execution mode.
/permissions auto|confirm|read-only- Control approval behavior.
/personality concise|collaborative|direct- Change shell response style.
/status- Show active agent, thread, model, and config status.
/cancel- Dismiss a waiting-for-input prompt.
/clear- Clear the visible conversation pane.
/refresh- Reload agent/runtime state.
Skills
/skills- Open the skills browser and manager.
/select-skill- Attach one or more skills to only the current thread.
Project and inspection
/diff- Show the current git diff in a structured format.
/init- Generate a project-aware
AGENTS.mdfile in the workspace.
- Generate a project-aware
/model- Open model/provider settings.
/theme- Switch theme.
/mcp- Open the MCP manager.
Skills Workflow
agencode integrates with the official Skills CLI and treats it as the backend.
The TUI can:
- browse starter categories
- search skills with
npx skills find <query> - install skills
- view installed skills
- check for updates
- update installed skills
Installed skills can then be attached:
- permanently to a saved subagent
- temporarily to the current thread with
/select-skill
Subagents
The runtime uses a single supervisor model:
supervisor-agent
Under that supervisor, you can create your own saved subagents from the TUI.
Subagent workflow:
/agentCreate New Subagent- enter name
- enter system prompt
- optionally attach skills
- review
- confirm
Each saved subagent can be:
- edited manually
- refined through AI chat
- activated or deactivated
- assigned attached skills
- deleted
The supervisor also has structured internal tools for:
- listing saved subagents
- saving subagents
- activating subagents
- listing attachable skills
- searching marketplace skills
- installing marketplace skills
Human-in-the-Loop Behavior
The TUI is designed to pause and ask for guidance when needed.
Examples:
- destructive requests
- permission-sensitive operations
- root or sudo-adjacent actions
- missing input or blocked execution
The app can ask you to:
- continue
- dry run first
- show commands only
- manual only
- revise the plan
Current CLI Commands
Run agencode --help for the current command list.
Main shipped commands:
agencode tuiagencode init-configagencode doctoragencode config-openaiagencode config-showagencode mcp-listagencode mcp-add-stdioagencode mcp-add-httpagencode mcp-bootstrap-defaultsagencode agent-listagencode agent-showagencode agent-save-prebuiltagencode agent-build-checkagencode agent-run-promptagencode session-showagencode session-listagencode skill-listagencode skill-showagencode skill-install
Common Usage
Launch in the current project
cd /path/to/project
agencode tui
Open a specific workspace
agencode tui --workspace /path/to/project
Configure an OpenAI-compatible provider
agencode config-openai \
--base-url https://api.openai.com/v1 \
--model gpt-4.1 \
--model-kind chat
Inspect current config
agencode config-show
Check environment health
agencode doctor
Provider Notes
agencode supports OpenAI-compatible providers through:
--base-url--model--model-kind- API key environment variables or keyring storage
If no provider is configured yet, the TUI guides you through onboarding.
Packaging and Install Notes
After pip install agencode, the global command is:
agencode
A compatibility alias may still exist in development environments, but agencode is the intended public command.
MVP Scope
This release is an MVP focused on:
- working TUI experience
- project-local state
- supervisor-managed subagents
- thread-aware history
- skills browsing and install
- keyboard-first workflows
The product is already usable, but the workflow surface will continue to evolve.
Troubleshooting
agencode command not found
Make sure your Python scripts directory is on PATH, or use:
python -m pip install --user agencode
Then restart the shell.
Skills install works but attachment does not
Use /skills to install first, then /agent or /select-skill to attach.
Provider errors
Run:
agencode doctor
agencode config-show
Reset the current session
Inside the TUI, use:
/reset
Development
uv sync
uv run agencode --help
uv run python -m unittest
License
Add your preferred license before broader public distribution if needed.
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 agencode-0.1.2.tar.gz.
File metadata
- Download URL: agencode-0.1.2.tar.gz
- Upload date:
- Size: 92.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e13cd0027023577427b49a90f84fbf97180f553cae2cffffc6a1430bc1b3d90f
|
|
| MD5 |
26ca2188d11c9269d5a462be4089090c
|
|
| BLAKE2b-256 |
2ca6a36735b398615aa52c577dd1f09d77e31a6ce6be076bdafa3e12a6410a10
|
File details
Details for the file agencode-0.1.2-py3-none-any.whl.
File metadata
- Download URL: agencode-0.1.2-py3-none-any.whl
- Upload date:
- Size: 89.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e677bb6215dffae3a6e6b62bd120a781239093523cf57407f99a433f7c77424f
|
|
| MD5 |
fc6e5aa973718625cd091790711a6b27
|
|
| BLAKE2b-256 |
f9f7bc19561331fe07455677ee842ab8e0c53147293b700630cb88b5aea60cc5
|