Open sourceFree for every Mac, MIT licensed

Start the agents.
Go do something else.

Every Claude Code, Codex, Cursor CLI, or Pi task gets its own git worktree and terminal. Shika tells you when one is ready.

The Shika logo: a deer above a small terminal node graph

Interactive prototype, sample data. Try jk to move, ↵ to focus the terminal, or click + to add a shell tab.

Prototype with sample data. Open it on a laptop to try the keyboard flow.

Open full screen

The whole workflow is five keys.

Shika is built for the keyboard. Your hands stay put from the first prompt to the push.

  1. n

    Start an agent

    Pick Claude Code, Codex, Cursor CLI, or Pi. Shika creates a worktree and starts the CLI inside it.

  2. ↵

    Write the prompt

    Type straight into the real terminal. The first line names the branch, then the CLI's own title renames it.

  3. Go do something else

    When the agent goes quiet, a notification tells you which task is ready to check.

  4. ⌘T

    Check it in the shell

    Add a shell tab in the same worktree. Diff, test, commit and push yourself.

  5. c

    Close the card

    Shika removes the worktree, and asks first if any work would be lost.

Made for people who don't watch agents work.

See what's done without reading any output.

Each card shows the task, the CLI, the branch and how long it has been in its state. Ready cards add a diff stat of what changed.

A notification when an agent is ready.

Native macOS banners, titled with the project and the task. Click one to land on that card. One per turn, not one per redraw.

One git worktree per agent.

Agents never touch your main checkout or each other. Worktrees live in .worktrees/, kept out of git by the repo's local exclude, not your .gitignore.

~/code/routekit
├─ .worktrees/
│  ├─ fix-flaky-timeout-test
│  ├─ json-route-listing
│  └─ shika-draft-3f2a
└─ src/         untouched

Close asks before anything is lost.

Uncommitted changes or unpushed commits? Shika tells you, then lets you discard or push. It never commits for you.

A native Mac app, written in Rust.

Built on GPUI, the GPU-accelerated UI framework behind Zed. Each agent gets a real terminal that keeps running while hidden, so a busy CLI never stalls.

Rust GPUI alacritty_terminal macOS 13+

Shika doesn't wrap a model API. It runs the CLI you already pay for, in a real terminal, on your Mac.

Claude Code Cursor CLI Codex Pi Kiro is next
  • No account
  • No API keys
  • No telemetry
  • Never commits for you
  • Worktrees stay when you quit

Free and open source.

Early-stage, macOS-only software. Build a local app from source; signed and notarized downloads are not available yet.

  • macOS 13 or later
  • Rust, installed with rustup
  • Full Xcode, not only the Command Line Tools
  • Claude Code, Codex, Cursor CLI, or Pi, installed and signed in
Terminal
$ git clone https://github.com/xuanhieu2611/shika.git
$ cd shika
$ ./scripts/bundle-app.sh
$ open target/release/Shika.app

Local bundles are ad hoc signed. Read the agent permission model before running Shika. Move Shika.app to Applications to keep it in the Dock.

Questions

Something else? Open an issue.

Is Shika really free?

Yes. It is MIT licensed, with no account and no paid tier. You pay your agent's provider the way you already do.

Which coding agents does it run?

Claude Code, Codex, Cursor CLI, and Pi today. Kiro is next. Shika starts the binary you already have, so your login, settings and plan come with it.

Will agents ask before running commands?

Shika's presets use the CLIs' automatic approval modes. Claude Code, Codex, and Cursor CLI bypass permission prompts or sandboxing; Pi starts with --approve. Agents can execute commands with your user account's access. A worktree separates Git edits but does not restrict access to files, credentials, or the network. Run agents only in projects you trust. Shika separately asks for approval before running configured worktree setup commands.

Does Shika send my code or prompts anywhere?

Shika has no telemetry or model API integration. Your agent CLI talks to its provider, Git fetch and push connect to your remotes, and any worktree setup commands you approve can use the network. Your CLI controls what it sends to its provider.

Why a git worktree for every task?

So agents can edit the same repo at the same time without colliding, and your main checkout stays clean. Each worktree is a full checkout on its own branch, under .worktrees/ in your repo.

Will it push or commit for me?

It never commits. Add a shell tab with ⌘T, then review, commit and push yourself. When you close a card with a clean tree and unpushed commits, Shika offers to push them. A push keeps the card open until you close it.

What happens when I quit?

Your projects and worktrees stay on disk. Running sessions end, and the next launch lists leftover worktrees so you can clean them up when you choose.

Windows or Linux?

Not yet. Shika is a native Mac app for now.

Why the name?

After Shikamaru, the one who keeps track of everyone on the field while giving directions. Shika also means deer in Japanese, hence the logo.

Keep track of everyone on the field.

Free, open source, and native to your Mac.