Skip to main content

agent6

A coding agent with sandboxed commands, resumable sessions, and editable workflows.

Give agent6 a task in a Git repository: fix a bug, add a feature, review a change, or explain the code. It uses a model you choose and saves the conversation, tool activity, and Git checkpoints so you can inspect the result or continue the work. For longer workflows, define the steps in a TOML state machine you can review, test, and replay.

Documentation · Quick start · Security model

the terminal UI: a coding task, a command approval, verification and the resulting changes
the terminal UI
the web UI: the hub, a session with its tool detail, the sandbox config
the web UI

The CLI streams the same run in any terminal.

Quick start

Requires Python 3.12+, Git 2.40+, and access to a model through an API, local server, or supported subscription. The sandbox supports Linux on x86_64 and aarch64. On macOS, commands run without the Linux sandbox; on Windows, use WSL.

Install with uv or pipx.

uv tool install agent6        # or: pipx install agent6
agent6 completions            # tab completion for your shell
agent6 connect                # connect a provider
agent6 model worker           # choose its model interactively
cd your-repo
agent6 check                  # check provider config and sandbox support
agent6 run "your task here"

For a subscription, use agent6 connect chatgpt or agent6 connect claude in place of agent6 connect. The Claude route uses your installed, signed-in Claude Code binary. Then select the worker model as above.

The run streams in your terminal and asks before running commands by default. It edits your current working tree and saves checkpoint commits on a separate agent6/<id> branch by default. Checkpointing leaves your current branch's history and index in place; sessions merge brings the recorded work onto that branch. At the end, read the verification result and diff; type /exit to leave the interactive session.

agent6 sessions show          # status and verification result of the latest run
agent6 sessions diff          # inspect its changes
agent6 sessions merge         # merge them into the run's starting branch

To keep your current checkout unchanged, use agent6 run --worktree "your task". This starts from the committed files at HEAD; uncommitted changes and untracked dependencies are not copied. See isolated workspaces for setup commands, and installation for PATH and platform setup.

Features

  • Command sandboxing: control what model commands can read, write, and reach on the network, with approvals enabled by default and diagnostics that show the effective boundaries (security).
  • Resume and fork: saved session state, transcripts, and Git checkpoints let you continue interrupted work or branch from an earlier turn into a separate worktree (recovery).
  • Project checks: configure a verification command or let agent6 infer one, then see whether the final work passed, failed, or remains unverified (verification).
  • Terminal, browser, and editor: the CLI, terminal UI, browser UI on desktop or phone, and editor integration through the Agent Client Protocol (ACP) share the same engine and session records; the browser also shows the repository's commit graph, any two revisions compared, and each file's diff.
  • Visible context and progress: inspect the task graph, tool calls, usage, and compaction events; /pin preserves an instruction through compaction, /compact [focus] requests a summary, and repository memory carries facts across runs (architecture).
  • Parallel attempts: run the same task in isolated clones with --parallel N or a list of models, compare the results in a ranked report, and choose which result to merge (parallel runs).
  • Editable state machines: compose agent runs, tool calls, waits, and branches in .asm.toml files, with validation, offline tests, journaled transitions, and replay from recorded results (state machines).

Inspect and direct a run

Run agent6 tui for the terminal dashboard or agent6 web for the browser UI. Both show sessions, conversations, tool activity, verification results, and usage, and let you answer prompts and steer work. Run headers show the model, resolved isolation level, command approval setting, and verification command. The web UI also supports access from another device; the web guide covers authentication and remote access.

From another terminal, use the session ID printed by the run:

agent6 attach <session-id>
agent6 steer <session-id> "keep the public API unchanged"
agent6 stop <session-id> --after-step
agent6 resume <session-id>

To continue an already finished run, use agent6 resume <session-id> --steer "your next task". To explore a different approach, use agent6 fork <session-id> --at-turn 7 --steer "try a different approach". The usage guide covers transcripts, history search, side questions with /btw, and commands inside a run's sandbox.

Models and integrations

Use Anthropic, OpenAI, OpenRouter, or another OpenAI-compatible endpoint, including local servers such as Ollama, vLLM, llama.cpp, and LM Studio. ChatGPT and Claude Code subscription routes are also supported. Choose the model and reasoning effort for the worker, planner, and reviewer separately; unset roles fall back to the worker (configuration).

  • Plan and ask: agent6 plan and agent6 ask explore a repository without editing its files; agent6 run --from <plan-id> uses a saved plan.
  • Code review: agent6 review reviews a diff; an optional review panel can also check work during a run.
  • Skills and instructions: use AGENTS.md for repository instructions and SKILL.md packs through /name or --skill.
  • Model Context Protocol (MCP): connect servers you configure; MCP is off by default, and locally spawned servers are sandboxed by default.
  • Background commands: keep a development server or watcher running while the agent continues, with controls to read its output or stop it.
  • Usage limits: track cost and tokens, and set spending limits, token limits for unpriced calls, and usage limits for supported subscriptions (budgets).

Security and verification

agent6 treats model output as untrusted. The model's tools are a fixed built-in set plus the MCP servers you enable. Its Linux sandbox restricts command execution; the main agent process remains trusted and connects to your configured model providers. Provider keys stay with the agent process: a command's environment and jail hold neither the keys nor secrets.toml, except under sandbox.isolation = "none", where nothing is hidden. A sandbox around the whole agent would hold them inside it. agent6's own git never pushes, rewrites history or resets a tree, and no config key turns that on; a command the model runs is bounded by the jail. sandbox.isolation sets the level: full is a namespace-based Linux jail, partial is Landlock and seccomp without namespaces, none leaves commands unconfined. The default, auto, selects the strongest available level and warns when it falls back. sandbox.network is set separately: under full it defaults to the run's private network and can use the host network; partial and none use the host network. Run agent6 check sandbox to inspect file and command access by path, network and approval settings, and live probe results. Read the security model for the boundaries and host requirements at each level.

A fresh run runs the verification command before it edits anything, when one is set or inferred. A run ends passed, failed or unverified, and a scoped gate says so in the result. Read the result and the diff before you merge.

The defaults are sandbox.network = "auto", sandbox.run_commands = "ask" and sandbox.protect_git = "auto". agent6 has eight runtime dependencies, no telemetry and no automatic updates.

How it compares

If you have used Claude Code, Codex, OpenCode or Pi, the shape is familiar: sessions you resume, skills in the shared SKILL.md format, MCP servers, an editor over ACP, several front-ends on one run.

Compared with an agent in a container or a VM, the jail is per command and in place. There is no image to build or keep current, the jail sees your installed toolchains read-only, the repository is at its real path, and agent6 check sandbox prints the boundary one row per path. A jailed command cannot install system packages; it can only install into the repository, a venv or a node_modules there, its private /tmp and HOME, or a path you grant. Inside a container, sandbox.isolation = "auto" resolves to the level that kernel allows, and agent6 check says which.

Compared with the command sandboxes other agents offer, agent6's is on by default at the strongest level the host allows, keeps your home directory and credentials out of the jail, gives the run's commands a network of their own under full, and jails MCP servers the same way.

Development and feedback

agent6 is Apache-2.0 licensed and is under active development before 1.0; configuration, commands, and stored formats can change. See development conventions and the repository's benchmark and evaluation suites, which compare models and harness settings with task graders, repeated runs, and usage measurements.

If you try it, open an issue with the task you attempted, what you expected, and where setup or the run became confusing or failed. For vulnerabilities, use private security reporting.

Metadata

Release files for agent6 0.0.38

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent6 0.0.38
File Size Uploaded Provenance
agent6-0.0.38.tar.gz 1.5 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for agent6 0.0.38
File Interpreter ABI Platform
agent6-0.0.38-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64, Linux glibc 2.17+ x86-64 Details
agent6-0.0.38-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64, Linux glibc 2.17+ ARM64 Details

Total release size: 5.5 MB

Release files / agent6-0.0.38.tar.gz

Download URL agent6-0.0.38.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
6b46fca4ba3e28290e7407e8b206d15c1abc9fe0c5cc3a24358a783aa3802dcb
BLAKE2b-256 checksum
How to use checksums
242708a5d73dacf5dece6efdcb40d3c92ad396e95ce16fd55d47d0b9c74cec0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / agent6-0.0.38-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl

Download URL agent6-0.0.38-py3-none-manylinux_2_17_x86_64.musllinux_1_2_x86_64.whl
Size 2.0 MB
Tags Linux glibc 2.17+ x86-64 Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
3198f01e9299a04ac09a7b7ffe15a877d12326d1e6966823b25f9b65ac2db89b
BLAKE2b-256 checksum
How to use checksums
4d7cad11b80cfa5c52e2576cd7dd0102e50a061d4e7c744f1a8fc7fafeeb19f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / agent6-0.0.38-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl

Download URL agent6-0.0.38-py3-none-manylinux_2_17_aarch64.musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags Linux glibc 2.17+ ARM64 Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
655862f6d33ddcff9034c8a0f41e5d87c0d9ac9247d75955511cb9158803759d
BLAKE2b-256 checksum
How to use checksums
c86bdfbc29bd9e5120a7220b2b7e2968239ee9e1dcbe3e658fb79d7eccb9045e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for agent6 0.0.38

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for agent6-0.0.38.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.0.38 This release

3 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page