Pixel-art commuter train arriving at a warmly lit night station
Open source · local-first

Ticket Terminal

The ticket board where AI agents actually do the work: real Claude and Codex sessions on every ticket, backed by one shared memory that gets smarter with each one that closes. Free, open source, and built for every engineering role — not just one.

Apache 2.0, alwaysFree forever. Fork it, self-host it, ship it — no license fees, no seat costs.
Your machine, your keysRuns locally against your own credentials — never a hosted black box.
Real cost, per ticketSee exactly what Claude and Codex spent — actual token pricing, not a guess.
// the board

Tickets move like trains through the station

New work arrives, you open a terminal with your selected LLM — or run it fully agentic — and finished tickets roll out. Exactly how it moves in the real app.

Access and Provisioning

PARTIAL 12 tickets STATUS ▾ VIEW FILES →
// features

Not a chat window bolted onto a card

Every piece is built around one idea: the agent working your ticket needs a real place to work, and a real memory to work from.

Agent

Real embedded terminals

An actual Claude or Codex session per ticket — resumable across visits, with a permanent transcript.

Memory

Vendor-neutral knowledge

Architecture notes and runbooks as markdown + diagrams any LLM can read and write — never locked to one vendor.

Sync

Meets your tracker

Live sync with Jira today, Notion on the way. It wires an agent into your tickets — it doesn't ask you to move them.

Team

Built for every role

Ten engineering-role starter presets — backend, frontend, mobile, data, QA, devops. Categories are configuration, not code.

Privacy

Local-first, on purpose

No hosted black box holding your keys, your git history, or your agent's transcripts.

License

Apache 2.0, no strings

Free to use, modify, and self-host commercially. No usage tiers, no gated features.

// how it works

Three steps, on every ticket

01 · OPEN

A ticket becomes a real terminal

An actual Claude or Codex session starts, scoped to that one ticket, picking up exactly where it left off.

02 · WORK

The agent works it, memory in hand

It reads the team's shared knowledge base first — architecture, runbooks, past decisions — before touching anything.

03 · LEARN

What it learns becomes the memory

New context is written back as plain markdown and diagrams. The next ticket starts smarter.

// cost transparency

Know exactly what your agents cost

Every session shells out to real, maintained pricing logic instead of guessing — you see actual token cost, per provider, per ticket. No flat subscription number standing in for the truth.

ClaudeExample ticket
$0.38
14 tool calls · claude-sonnet-5
CodexExample ticket
$0.51
9 tool calls · gpt-5.1-codex

Hover any ticket's cost badge in the app for the exact breakdown — no separate billing dashboard to reconcile against. Figures are real, token-based cost estimates, not subscription invoices.

// shared memory

One knowledge base.
Every agent can read it.

Each note is plain markdown, with an optional diagram for anything that's really a workflow or an architecture — editable, and git-diffable like everything else in the repo.

It's the compounding asset: every ticket an agent closes leaves the next one, and the next agent, a little smarter — never locked to one vendor's session format.

// quickstart

Running in about a minute

$0 to install, $0 in license fees — you only ever pay your own Claude/Codex usage.

zsh
$ python3 -m venv .venv && source .venv/bin/activate
$ pip install -r requirements.txt
$ python server/main.py

→ open http://127.0.0.1:4173 — no build step, no separate frontend process.

Full setup, Jira sync, and configuration in the README ↗

TICKET TERMINAL · Apache 2.0 · github.com/ticketterminal/ticket-terminal