Sora
Your terminal, with the whole project around it.
A native macOS workspace built around the terminal — projects, persistent sessions, files, and git in one window.
Free, no telemetry, no subscription.
brew install ankitchouhan1020/tap/sora
Features
projects & sessions
- Projects, not windowseach repo is a project in the sidebar — Cmd+1–9 switches, Cmd+N adds one
- Sessions per projectopen as many terminal tabs as a project needs with Cmd+T, each with its own directory and scrollback
- Split panesCmd+D splits right, Cmd+Shift+D splits down, Opt+Cmd+arrows moves focus between panes
- Restored on relaunchquit and reopen: projects, tabs, and pane layout come back, each shell fresh beneath its previous scrollback
- Command paletteCmd+P to jump to any project or session, or run any command
review & ship
- Git panelstage, unstage, discard, and commit — amend included — beside the shell that made the changes
- Inline diffsclick a changed file to read its diff in place, without leaving the window
- Branch workswitch or create a branch, fetch, fast-forward pull, push, publish a new upstream, or stash
- Files panelbrowse the working tree, open a file, edit it with tree-sitter highlighting, Cmd+S to save
- Session infothe processes running under a session and the TCP ports they are listening on
local automation
- Bundled sora commandopen projects, create visible terminal tabs, send input, and read recent output from scripts
- MCP for coding agentsthe same controls are available as six focused tools over standard input and output
- Visible by designautomated commands run in ordinary Sora tabs, where you can watch, inspect, or take over
- Local and controllableenabled by default, easy to switch off, and secured through a signed helper on a private per-user socket
the terminal itself
- Your shell, unchangedzsh, fish, or bash exactly as you configured it — prompt, aliases, dotfiles and all
- Built on libghosttyGhostty's terminal core, embedded and hosted natively by Sora
- Desktop notificationsa bell in an unfocused session, or a notification escape from a long-running command, reaches Notification Center
- Progress reportsOSC 9;4 progress shows as a slim bar above the terminal, error and pause states included
- Fontsships with JetBrains Mono and Nerd Font symbols; swap in any monospace family and size
- Quiet updatessigned, notarized builds check in with Sparkle and install in the background
Connect an AI agent
Save this as .mcp.json. Your MCP client launches the silent stdio server; Pi uses the bundled CLI directly.
{
"mcpServers": {
"sora": {
"command": "/opt/homebrew/bin/sora",
"args": ["mcp"]
}
}
}Or give your agent this:
Configure Sora for this project. Create .mcp.json with an MCP server named sora, command /opt/homebrew/bin/sora, and args ["mcp"]. If MCP is unsupported, including in Pi, use the sora CLI directly. Verify with sora status.Shortcuts
- Cmd+Nnew project
- Cmd+Tnew session
- Cmd+1–9switch project
- Ctrl+Shift+1–9switch tab
- Cmd+Pcommand palette
- Cmd+D / Cmd+Shift+Dsplit right / split down
- Opt+Cmd+arrowsfocus the pane in that direction
- Cmd+B / Cmd+Shift+Btoggle the left / right sidebar
- Cmd+Shift+G / E / Igit / files / info panel
- Cmd+Kclear the terminal
- Cmd+Ssave the open file
FAQ
Is Sora free?
Yes. Free to download, no subscription, no account.
Does it replace my shell?
No. Sora hosts the shell you already run and leaves your prompt, aliases, and dotfiles untouched. The terminal underneath is libghostty, the same core as Ghostty.
Does it collect any data?
No telemetry, no analytics. The only network call Sora makes is the update check against releases.ankitchouhan.dev.
Can coding agents control Sora?
Yes. Use the bundled sora command or its MCP server; local automation can be disabled in Settings. Commands stay visible in normal terminal tabs, and no network port or background daemon is opened.
What happens to my sessions when I quit?
Projects, tabs, and pane layout come back on relaunch. Each terminal reopens as a fresh shell in its old directory, with the previous scrollback restored above a "Session Contents Restored" divider.
Is this an IDE?
No — the terminal stays the center of gravity. The git and files panels exist so you can review and ship what happens in the terminal without switching to an editor.