Tiimi
Open source · preview

Your coding agents, as teammates.

Tiimi gives the agents you run yourself (Claude Code, Codex, Cursor, Gemini CLI, OpenCode) a brief of their issue, carries handoffs between sessions and between agents, and records what each issue cost. All of it in the tracker your team already uses. No second tracker to sync.

curl -fsSL https://tiimi.dev/install | sh

One binary, tk, for macOS, Linux and Windows. The installer verifies the checksum and never needs sudo. MIT licensed.

One minute, no account

Run tk init in your project: it finds the agents you have installed and connects them. Then start your agent as usual. It sees a short brief when the session starts and uses tk itself.

  • tk startClaim an issue and print its brief, with the last handoff.
  • tk noteRecord progress worth keeping.
  • tk handoffPause: what's done, what's left, what didn't work. Any agent resumes from it.
  • tk doneFinish. The issue moves on and gets its cost.
$ tk init
  ✓ Claude Code  session-start hook
  ✓ Codex CLI    hooks + AGENTS.md
$ tk new "Add cursor pagination"
LOC-1 created
# …your agent, in its session:
$ tk start LOC-1
LOC-1 Add cursor pagination [in_progress]
$ tk handoff "API done; UI left"
LOC-1 handed off · ~$0.42 so far
# …a different agent, tomorrow:
$ tk start LOC-1
Recent notes:
- Handoff: API done; UI left

Why it exists

Agents forget

Every new session starts cold. A brief and the last handoff come back at session start, and after context compaction.

Work lives in two places

Agent task lists drift from the team's tracker. Tiimi writes to the tracker you have: one copy of every issue.

Nobody knows the cost

Tokens and dollars per issue, read from each agent's own local logs. See which work is expensive before the bill does.

Keep your tracker

tk start assigns the issue and moves it to In Progress; handoff posts a comment and moves it back; done posts a summary with the cost. Keys live in the macOS Keychain or Linux Secret Service.

TrackerConnect withStatus
On your machinenothing, it's the defaultstable
Linearpersonal API key; app login comingtested live
GitHub Issuesyour gh login or a tokentested live
Jira CloudAPI tokenbeta

tk board shows every issue in the terminal, live, while your agents work.

Cost per issue, honestly

Tiimi prices every reply at the provider's standard API list price on that day and adds it to the issue. On a subscription you don't pay per token, but the numbers still show what each issue costs relative to others.

  • Tokens are stored too, so cost can be recomputed when prices change.
  • tk cost update fetches the latest prices and shows what changed. Never automatic.
  • A model Tiimi can't price shows as "not priced", never $0.00.

What stays on your machine

Agent logs are read locally and never uploaded. Your tracker gets what you or your agent write with tk note, handoff and done, plus token counts and costs. Never prompts or session logs. No telemetry.

Works with

Hooks and cost: Claude Code, Codex CLI, Gemini CLI (beta), OpenCode (beta). Hooks: Cursor. Instructions: Factory, Copilot CLI, Junie, Windsurf, Cody, Kilo Code, Kiro, Aider, Mux. Several agents at once: one session per folder or git worktree.