Free · Apache 2.0·No telemetry · Runs locally·v0.1.12

Plan, watch, and keep AI coding agents on track.

A desktop app that visualises your codebase, structures the work, and stays on the loop while agents execute. Yours, theirs, or both.

macOS signed & notarized · arm64 + x64 everywhere
Multi-language dependency graph at package level

the codebase, mapped

Act IUnderstand

One graph for every language your codebase speaks.

TypeScript, Python, Rust, SQL — same canvas. The cross-language edges aren't a feature bolted on top; they're how the codebase actually talks. CodeTrellis renders them at three depths and lets you descend at will.

Cross-system dependency graph spanning TypeScript, Python and SQL
exh. 001 · cross-system graph · ts + python + sql
Package-level cluster graph

01 / Packages

Start at the cluster level — the shape of the codebase, the weight of each subsystem, the few dense knots that matter.
File-level dependency graph

02 / Files

Drop in. Individual files and their import edges. The same view, one zoom level deeper.
Symbol-level graph showing classes, functions and exports

03 / Symbols

All the way down. Classes, functions, exports, and the call edges between them.

Click anything to understand it.

Imports, exports, callers, cross-system coupling — surfaced in the inspector the moment you select a node. No more grep archaeology before you touch a file.
  • Metadata, exports, and imports for the selection
  • Cross-system callers (HTTP, SQL, subprocess)
  • Open in editor with one keystroke
Inspector panel showing file metadata, imports and cross-references
Act IIPlan

Structure the work before a line is written.

A plan is a typed, structured surface — phases, tasks, spec docs, acceptance criteria. As simple or as deep as the work calls for. Draft it yourself, or hand it to the agent and supervise.

Plan workspace alongside dependency graph
exh. 002 · plan & graph, together

The planning surface.

Phases, tasks, status, spec docs. The whole plan lives on disk as YAML and markdown — so it diffs in git, follows you across branches, and never gets stranded in a third-party tool.
  • Phases · tasks · acceptance criteria
  • Spec docs round-trip as YAML + markdown
  • Templates: built-in or from your repo
Plan workspace with phases, tasks and spec docs

See the impact before it happens.

Project the plan onto the graph. Files that will be created light up in one colour; files that will be modified in another. The blast radius is visible before a single edit lands.
  • Create vs modify, visually distinct
  • Inspect any planned change in context
  • Re-scope the plan when the projection surprises you
Projection overlay showing planned files highlighted on the dependency graph
Plan touching files in Python and TypeScript

Plans cross boundaries

A plan can touch Python, TypeScript, SQL — the way real refactors do. Phases route across language lines without leaving the surface.
Comment thread with human and AI authors

Same surface, both authors

Humans and agents argue in the same thread. Decisions land next to the code they describe instead of in a separate doc.

The human can be the trellis, guiding the agent.

Or the agent can be the trellis, guiding the human.

CodeTrellis is the structure both of you grow against.

↔ either direction · same surface

Act IIIExecute & Check

Watch the work happen. Catch the drift the moment it starts.

Plan, graph, terminal, timeline — one surface. The agent executes against the plan, every tool call lands in the timeline, and the working tree streams onto the graph in real time. Drift gets the amber treatment before the blast radius spreads.

Plan, dependency graph and running agent in one workspace
exh. 003 · plan · graph · live agent — one surface

Drift, surfaced the moment it happens.

Files outside the active plan glow amber. Conformity ticks down when an unplanned edit lands. You see it, you steer — or you decide it's a legitimate addition and add it to the plan in two clicks.
  • Auto-task progression as planned files change
  • Amber highlight on out-of-plan edits
  • Conformity score, live
Drift detection alert highlighting an unplanned file edit

Every action, accounted for.

Each MCP call — register_session, create_plan, claim_item, detect_deviations — lands on the timeline, timestamped and attributed to the agent that made it. Replay, audit, or just keep an eye on the loop.
  • Per-agent attribution
  • Timeline streams in real time, no polling
  • Export the trail when you need a record
Timeline of MCP tool calls with attribution and timestamps

Most agents plan internally and never show their work. CodeTrellis surfaces the plan, the changes, and every tool call as the agent makes them — so you stay in the loop without slowing it down.

ai-coding-tool
ClustersFilesSymbols
Agent active
Presence
offline voice
claude · sonnet

Reading the payments plan. 3 phases, 14 tasks. Starting with phase 1 — Stripe wiring.

claude · sonnet

Created src/payments/checkout.ts. On plan. No drift.

claude · sonnet

About to touch src/auth/session.ts — that's outside the plan. Should I add it to the scope?

claude · sonnet

Stripe webhooks: idempotent or queued? You haven't said.

claude · sonnet

All 9 task files have changes. Marking phase 1 complete.

Reply to claude…⌘ ⏎
Agent voice

The agent narrates what it’s doing — so you’re never out of the loop.

A floating Presence Pane where an MCP agent can narrate its work in real time, explain a step, walk you through the architecture, or ask you a question. A subtle pulse glows at the screen edge whenever the agent acts — so you always know what was you and what was the agent.

  • Offline voice via the built-in Web Speech API — no API key, no audio leaves your machine.
  • Tone-coded cards — neutral, success, warning, question — and a two-way reply box so you can answer without leaving the app.
  • Mirrored to mobile. Every Presence card also lands on the companion app — narration follows you off the desk.
Shipped in v0.1.7 · still free
✦ New in v0.1.5

Run the agent inside CodeTrellis — or have it run the room.

v0.1.5 brings a built-in terminal that fires up Claude Code, Codex, aider — any CLI agent — without leaving the app. The agent can also drive the UI itself: panning the graph, opening files, walking you through the codebase as it explains it.

Built-in terminal

Built-in terminal running a Claude Code session inside CodeTrellis

No alt-tab between the app and your terminal. Spawn an agent, watch it work, and stay in the same surface as the plan and the graph.

Agent-built plans, live

Agent constructing a plan live, with tasks appearing and progress at 65%

Hand the agent a goal. It creates the plan in front of you — phases, tasks, progress — all surfaced as it thinks, instead of disappearing inside a black box.

Let the agent walk you through the codebase.

Hand control to the agent and watch it pan the graph, open files, and narrate the architecture as it goes. Good for onboarding, code review, or a second read on something unfamiliar.

Agent-driven UI · ships in v0.1.5
ATeams

Humans and agents, same plan, same channel.

A shared plan workspace where teammates and AI agents can coordinate without talking past each other. Channels for every blocker. @-mentions that ping the right human or agent. Claims that prevent two actors stepping on the same file. Presence so you always know who’s holding what.

  • Per-plan channels: stuck · need-context · decision · handing-off · steer · weigh-in
  • @-mention any human or agent on the plan
  • Claims gate items so contention can’t happen
  • Presence rail shows who’s currently on the plan
  • Every event also lands on the mobile companion
Shipped in v0.1.7 · still free
On the plan · 5
Live
  • SSaifMaintainer
  • AAlexReviewer
  • ClaudeSonnet 4.7
  • CodexGPT-5
  • CursorEditor
Plan · payments · channels
2 active
  • Hand-off@claude

    Phase 1 wired. Tests green. Handing payments back to @saif for review before I touch the webhook config.

  • Stuck@codex

    Stripe metadata field shape — same as v3 webhook payload, or do you want the slimmer one? @alex

Tasks · who’s holding what
  • in-progressWire Stripe webhooks
  • in-progressRefund flow
  • reviewAudit logsA
  • openMigration scriptsClaim
  • in-progressWebhook testsS
  • openIdempotency key storeClaim
04 — Use as much or as little

You decide how much agency the agent has.

CodeTrellis is useful at every level. You don't have to commit to the whole stack to get value from any of it.

  1. Stop 01 · 0 agents

    Quiet monitor

    Open it, scan a codebase, leave it open while you work in your editor. No agent involvement at all.

  2. Stop 02 · 0 agents

    Plan sanity check

    Draft a plan yourself. Use the projection to sanity-check the blast radius before you start coding.

  3. Stop 03 · 1 agent

    Agent-assisted

    Hand the agent a phase, watch it execute, catch drift the moment it surfaces. You stay in the driver seat.

  4. Stop 04 · Many agents

    Multi-agent

    Spin up multiple agents on the same plan, each claiming tasks. Oversight stays in one place.

→ CodeTrellis is useful at every stop on the dial

Mobile companion

Drive the desktop from your phone.

Plans, channels, terminals, the live dependency graph — your full CodeTrellis workspace, in your pocket. Pair in one QR scan over your network, drive remotely over a VPN tunnel. Free on iOS and Android.

9:41
5G
Planspaired
Wire payments68%
Refactor auth32%
Drift detection v30%
Mobile parity91%
Schema reconciler100%
screenshot · coming soon
planschannelstermgraph
Plans · every project
9:41
5G
Channelspaired
stuck@claude
schema mismatch on payments.events
decision@saif
go with Stripe webhooks for v1
handoff@codex
tests green · handing back
context@cursor
need: auth/session typescript types
screenshot · coming soon
planschannelstermgraph
Channels · humans + agents
9:41
5G
Terminalpaired
$ npm test
> passed: 247
> failed: 0
> skipped: 3
$ git status
On branch payments
3 staged · 0 unstaged
$ codetrellis check
> ✓ on plan · drift 0
$
screenshot · coming soon
planschannelstermgraph
Terminal · streamed PTY

Full workspace

Plans, items, channels, terminals, graph, system docs — all real-time, all from the phone.

One-QR pairing

Settings → Devices on desktop, scan from phone, done. Auto-reconnect on app foreground.

Streams over WebRTC

Real-time desktop ⇄ phone with no cloud, no signalling server. xterm.js bundled offline.

Agents drive too

mobile_navigate / mobile_screenshot / mobile_present — any MCP agent can pilot the phone.

Default · zero config

On your local network

Desktop advertises over mDNS / Bonjour as codetrellis-<id>.local; the phone finds it without typing IPs. No cloud relay, your data never leaves the LAN.

local routerdesktopphone
v0.1.12 · BYO VPN

From anywhere · over a VPN tunnel

Use any VPN — Tailscale, Twingate, WireGuard, whatever you already have. CodeTrellis advertises every reachable address; pairings made at home upgrade to the VPN address automatically when you leave.

Tailscale· free · 2 minutes to set up · no port forwarding
desktophome wifiphone5G · coffee shopVPN tunnel
Request iOS TestFlightDownload Android APKFree · no Play Store / App Store subscription
MCP Protocol Compatibility

Works with your favourite AI coding tools.

CodeTrellis exposes your codebase architecture through MCP, so agents and IDEs can inspect structure, dependencies, documentation and engineering context without custom integrations.

  • Claude Code
  • Windsurf
  • VS Code
  • Cline
  • Continue
  • Goose
  • Gemini CLI
  • Zed
  • Amazon Q
  • Replit Agent
  • Claude Code
  • Windsurf
  • VS Code
  • Cline
  • Continue
  • Goose
  • Gemini CLI
  • Zed
  • Amazon Q
  • Replit Agent
  • Cursor
  • GitHub Copilot
  • OpenAI Codex
  • Roo Code
  • OpenCode
  • Crush
  • Qwen Code
  • JetBrains AI
  • Devin
  • Bolt.new
  • Cursor
  • GitHub Copilot
  • OpenAI Codex
  • Roo Code
  • OpenCode
  • Crush
  • Qwen Code
  • JetBrains AI
  • Devin
  • Bolt.new
MCP-native — connect once, use everywhereTry it free
Model Flexibility

Use it with any model.

CodeTrellis is model-agnostic. Frontier models, open-weights, local runtimes, routed providers — pick the right one for the job, the budget, the privacy bar.

  • OpenAI
  • Google Gemini
  • Meta Llama
  • DeepSeek
  • xAI
  • Together AI
  • DeepInfra
  • OpenRouter
  • LM Studio
  • LiteLLM
  • LocalAI
  • OpenAI
  • Google Gemini
  • Meta Llama
  • DeepSeek
  • xAI
  • Together AI
  • DeepInfra
  • OpenRouter
  • LM Studio
  • LiteLLM
  • LocalAI
  • Anthropic
  • Mistral AI
  • Qwen
  • Cohere
  • Groq
  • Fireworks AI
  • Hugging Face
  • Ollama
  • vLLM
  • llama.cpp
  • Replicate
  • Anthropic
  • Mistral AI
  • Qwen
  • Cohere
  • Groq
  • Fireworks AI
  • Hugging Face
  • Ollama
  • vLLM
  • llama.cpp
  • Replicate
Frontier · open · local · routed

MCP-native. Model-agnostic. Built for the open agent ecosystem.

03How I actually use it

Patterns that emerged after a month of daily use.

Notes from the maintainer. Likely incomplete — drop me a line if you find a sixth.

  • 🔁01

    Re-run with a different agent

    Run the plan with Claude, swap to Codex, see who lands it cleaner.

  • 🧩02

    Split work across agents

    Best tool per job. Work around per-agent usage limits.

  • 🔄03

    Context refresh

    When an agent's context thrashes, clear it and have it re-ingest the plan from MCP.

How it's built

Open source. Local first.

Two facts about how the app works, not promises about what it won't do. Read the code, run it on your own machine, and verify the rest for yourself.

  • Apache 2.0 · source coming

    Open source.

    Apache 2.0. The source isn't open yet — we're collecting feedback first, then it goes up. Public releases and per-version notes live on GitHub today.

    See releases on GitHub
  • Runs locally

    Local first.

    Scans your repo on disk. Writes to a local SQLite. Runs a local MCP server. No telemetry. No cloud. No data leaves the machine.

  • Your AI bill stays your AI bill

    Your AI cost, unchanged.

    Compute lives inside your agent — CodeTrellis is a tool it calls via MCP. No second subscription. No per-seat fees. No surprise bills.

Required: git, plus an MCP-capable AI agent for the AI features. The app works fine without one if you're authoring plans by hand.

For teams who need to know what changed

Built for the people who have to answer for what the agent did.

  • Full audit trail of every action — human or agent.
  • Runs locally. No data leaves the machine.
  • Every tool call attributed, timestamped, exportable.
05Download

Pick the build for your machine.

RecommendedmacOS · Apple Silicon

CodeTrellis v0.1.13

CodeTrellis-0.1.13-arm64.dmg · 125 MB

Free · Apache 2.0 · macOS now signed & notarized

Desktop

10 builds
PlatformFileSize
macOS · Apple SiliconSigned & notarized
CodeTrellis-0.1.13-arm64.dmg125 MBGet
macOS · IntelSigned & notarized
CodeTrellis-0.1.13-x64.dmg132 MBGet
Windows · InstallerNSIS installer
CodeTrellis-Setup-0.1.13.exe100 MBGet
Windows · PortableSingle executable, no install
CodeTrellis-Portable-0.1.13.exe100 MBGet
Linux · AppImage (x64)Runs on every distro
CodeTrellis-0.1.13-x86_64.AppImage132 MBGet
Linux · AppImage (arm64)Runs on every distro
CodeTrellis-0.1.13-arm64.AppImage132 MBGet
Linux · .deb (x64)Debian / Ubuntu
codetrellis_0.1.13_amd64.deb100 MBGet
Linux · .deb (arm64)Debian / Ubuntu
codetrellis_0.1.13_arm64.deb99 MBGet
Linux · .rpm (x64)Fedora / RHEL
codetrellis-0.1.13.x86_64.rpm87 MBGet
Linux · .rpm (arm64)Fedora / RHEL
codetrellis-0.1.13.aarch64.rpm85 MBGet

Mobile companion

2 builds

Pair with the desktop in one QR scan. Drive plans, channels, terminals, and the graph from your phone.

PlatformBuildSize
iOS · Companion (TestFlight)Request access — onboarding now
TestFlight inviteRequest
Android · Companion APKSideload via APK · Play Store coming
CodeTrellis-Companion-0.1.13.apk131 MBGet

Releases hosted on github.com/lionroseway/codetrellis-releases.

Source, soon

“The source isn’t open yet — I’m collecting feedback first to sharpen the rough edges. Bug reports, missing use cases, plan templates you wish were built in — I’d love to hear them.”