Skip to content

Repository files navigation

throng_cli

Run Claude Code sessions inside E2B sandboxes over the A2A protocol.

Build

mix deps.get
mix escript.build

Produces a standalone ./throng_cli (requires Erlang/Elixir installed).

Environment

  • E2B_API_KEY — required, for the E2B API.
  • Any ${VAR} referenced in your config (e.g. ANTHROPIC_API_KEY, GITHUB_TOKEN).

Usage

throng_cli create  --config example.json [--name api-work] [--template <id>] [--keep] [--debug]
throng_cli connect <alias|id> [--debug]
throng_cli list
throng_cli stop    <alias|id>

create spins up a sandbox from the template (throng-dev/throng-agent by default — the combined multi-engine image; use --template throng-dev/throng-agent-elixir for Elixir workspaces), initialises the agent from your config, and drops you into an interactive prompt. On exit the sandbox is killed unless --keep is given.

Config

JSON that maps to the agent's /api/initialise manifest. Every string value is ${VAR}-interpolated from the environment:

{
  "repos": [
    { "url": "https://github.com/org/repo.git", "ref": "main", "dest": "app",
      "primary": true, "token": "${GITHUB_TOKEN}" }
  ],
  "setup_commands": ["npm ci"],
  "agent": {
    "platform": "claude",
    "model": "claude-sonnet-5",
    "permission_mode": "acceptEdits",
    "api_key": "${ANTHROPIC_API_KEY}"
  }
}

Exactly one repo must have "primary": true. agent.platform selects the engine (claude or codex) and agent.api_key is the LLM credential — the combined throng-agent image maps it to the engine's own env var.

About

A small CLI tool to run Claude Code sessions in E2B sandboxes using the A2A protocol

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages