Checked. Approved.
Bounded. Recorded.
Then it runs.
TrueCoder is a terminal-native coding agent with an auditable execution plane. Every shell command passes through policy evaluation, an approval fingerprint, and a durable audit record before a single byte of your project changes.
$ curl -fsSL https://github.com/Shivam583-hue/TrueCoder/releases/latest/download/install.sh | sh
A command doesn't run until it has earned trust.
Shell execution is a security event and NOT a generic subprocess call. A total of six gates stand between a model deciding to run something and that thing actually executing.
Fifteen tools. One audit trail.
Every tool the model can call, from reading a file to running a shell command, goes through the same registry, approval fingerprint, and durable record.
- Textual TUI with streaming responses and live tool cards
- Turn-based history, so an incomplete turn never enters the record
- Project-scoped SQLite sessions, one repo can't see another's
- ctrl+d diffs the workspace against the pre-turn checkpoint
- Undoable turns via git-plumbing checkpoints
- 15 approval-gated tools, including read, write, edit, grep, glob, shell, and delegate
- edit_file applies multi-site edits atomically, one approval
- Durable memory through remember and forget, corrected in place with replaces
- A task planner that survives context eviction
- Language-server intelligence: symbols, defs, references, diagnostics
- Every shell call is policy-classified and capability-matched
- Loop detection withdraws tools from a stalled model instead of burning turns
- Rolling compaction summarizes evicted history instead of dropping it
- Cross-platform: POSIX process groups, Windows Job Objects
- Context budget enforced, so oversized results are shortened instead of silently dropped
- Immutable WAL SQLite log, trigger-protected rows
- SHA-256 digests over the full raw output of every run
- Crash recovery leases nonterminal runs and never trusts a bare PID
- Retention compaction preserves every unresolved record
- Mutation evidence: before/after digests for every write and edit
- Digest-pinned Docker image, launch never pulls
- Non-root UID 65532, read-only root filesystem
- All capabilities dropped, network denied by default
- Memory and PID limits, best-effort CPU accounting
- 22 adversarial checks run against real Docker
- OpenAI, Anthropic, Google, OpenRouter, and the Models.dev catalog
- Browser sign-in and headless device authorization
- /models hot-swaps the active model without a restart
- web_fetch is SSRF-resistant and only reaches public addresses
- MCP servers treated as untrusted, namespaced, schema-bounded
Engineering scorecard.
Default execution ceiling: 600s runtime · 1 MiB produced output · 64 KiB returned to the model. Requests can tighten these per call, never widen them.
The agent decides what to do while the execution plane decides whether it's allowed to happen.
The shell tool is the thin, model-facing bridge between them. It converts arguments and formats results, and holds none of the actual authority.
Agent plane
Owns the loop, context, tools, checkpoints, and presentation.
Execution plane
Owns policy, approval, evidence, isolation, and process ownership.
admission (durable) → policy evaluation → backend selection and exact preparation → approval → active registration → resource-gated backend start → supervision, arbitration, drain → termination and cleanup → one immutable terminal finalization
When isolation matters, it's proven, not assumed.
Local execution is fast and already has your toolchain installed. When a command needs isolation instead, this is what it runs inside, and every claim below has been checked by an adversarial test against real Docker.
One line, and it's on your machine.
$ curl -fsSL https://github.com/Shivam583-hue/TrueCoder/releases/latest/download/install.sh | shTrueCoder resolves the project root from wherever you launch it, so the filesystem tools stay rooted there. You don't need a provider account up front, either: open the app and run /connect to sign in.
Want isolation instead of speed for a given command? Build the sandbox image once with docker build -t truecoder-exec:1 container/ and TrueCoder will start offering it on its own.