Skip to content

Latest commit

 

History

300 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zana — many agents, one clear view. Run, coordinate, and review AI coding agents across your projects.

Zana

Your command center for AI coding agents.
Bring your tools, connect your projects, and keep the work moving.

Download Zana for macOS Explore the Zana website MIT license

Get started · Features · Architecture · Plugins · Development


Zana brings your coding agents into one desktop app. Start a conversation, launch a native CLI session, or coordinate a team across projects. See what is working, what needs your attention, and what is ready to review.

Questions arrive in your Inbox. Findings live in your Library. Proven ways of working become reusable personas, teams, goals, and schedules.

Zana product tour showing New Chat, the Agents board, and a conversation Thread
From the first prompt to the finished work, in one place.

Built for the way you work

Run your agents Stay in control
Your agents, together
Use Claude Code, Codex, Cursor, OpenCode, and Pi. Choose structured Threads or a real terminal with CLI Agents.
Every project in view
Work across local repositories, enrolled machines, and SSH projects, with files and sessions in context.
A clear view of the fleet
See which agents are working, idle, done, or waiting for you. Open the session that needs attention.
Decisions that keep work moving
Receive questions and reports in the Inbox, then send your answer back to the waiting agent.
Work you can repeat
Reuse personas and teams, pursue goals with success criteria, and schedule recurring tasks with per-run reports.
Knowledge that stays with you
Keep findings in the Library. Review Markdown, diagrams, diffs, and attachments alongside the work.

From intent to outcome

  1. Connect a project. Add a local folder, an enrolled machine, or an SSH project.
  2. Start the work. Open New Chat, choose a Thread, CLI Agent, or Team, and give it a task.
  3. Stay in the loop. Watch the Agents board and answer questions from the Inbox.
  4. Keep what matters. Review the result, save the findings, and reuse the workflow.

Get started

Download Zana for macOS →

Choose the .dmg for Apple Silicon or Intel, install Zana, and add your first project. Releases are signed and notarized; the app checks for updates and applies downloaded updates when you quit.

You’ll need Node.js 20+, Git, and the coding-agent CLI you want to use installed and authenticated. Use Node.js 22+ for remote execution hosts and source development.

First-run guide · Daily workflows · Multiple machines

How Zana fits together

The desktop UI, zcc CLI, and agent tools connect to Zana’s product services. The product server owns policy, projects, thread state, and the plugin host. Host execution runs the authorized work on your machines. Electron provides the desktop shell, supervises the local runtime, and retains compatibility adapters for native and CLI Agent operations.

Zana architecture: clients connect to the product server and Electron desktop; Threads use signed host commands and provider bridges, while CLI Agents use the desktop compatibility path and PTY harnesses. Plugins run as full-trust server code.

Execution surface How it runs
Threads Structured conversations through the host daemon, agent runtime, and provider bridges: Claude Agent SDK, Codex app-server, Pi SDK, and ACP.
CLI Agents Native coding CLIs in real PTYs, using the desktop launch path and host harness modules. Shell terminals use PTYs too.

The renderer supplies intent; trusted server and desktop services authorize operations and confine paths. Installed plugins run full-trust inside the product server and can contribute UI. Install and enable are the trust decisions; plugins are not sandboxed guests.

Architecture guide · Runtime boundaries · Editable diagram and exports

Make it yours

Add panels, project tabs, agent tools, skills, MCP servers, settings, and CLI commands through Plugins. Browse the in-app catalog or build your own TypeScript package with the @zana-ai/zcc-plugin-sdk.

A plugin’s package.json declares the pieces it contributes: server logic, interface elements, and agent capabilities. Zana loads those pieces and connects them through the SDK.

How Zana plugins work: install a package, load its optional server and UI contributions, and equip agents with skills, Thread tools, or CLI MCP servers. Server code runs full-trust; zcc plugin dev rebuilds and reloads local changes.

zcc plugin new hello --app
cd zcc-plugin-hello
zcc plugin install .
zcc plugin dev

You can also choose Create in Plugins → Browse to start inside Zana. The development loop watches your source, rebuilds the UI, and reloads the installed plugin as you edit.

How plugins work · Plugin quickstart · Authoring guide · SDK reference

Work from your terminal

The zcc CLI and Control SDK let you operate the running app from scripts and your terminal. With zcc on your PATH:

# Find a registered project
zcc project list

# Start a Thread in that project
zcc thread spawn --project <project-id> --prompt "Review the current diff"

# See your running Threads
zcc thread list

Live commands use the app’s authenticated control APIs. Selected commands, including zcc guide, plugin scaffolding, and Inbox file reads, also work offline. See the CLI reference for installation and all commands.

Develop Zana

Use Node.js 22+ and the pnpm version pinned in package.json.

git clone https://github.com/salesforce/zana.git
cd zana
pnpm install
pnpm run rebuild
pnpm dev

Development uses ~/.zcc-dev and port 8781, so it can run alongside your installed app. The pre-dev step builds the CLI and seeds bundled plugins.

Packaged builds and CLI connections

To build and run the packaged desktop app, quit any other Zana instance using ~/.zcc first:

pnpm dist
pnpm start

pnpm start opens the built app from dist/; it does not rebuild. pnpm preview runs unpackaged production Electron from out/. pnpm dev:prod points development at ~/.zcc on port 8780; quit the installed app before using it. Use that command rather than pnpm dev --prod, which is pnpm’s production-dependencies flag.

Build and run the CLI directly from this checkout:

pnpm build:cli
node packages/cli/dist/bin/zcc.js project list

To target the isolated development app:

ZCC_DATA_DIR="$HOME/.zcc-dev" ZCC_SERVER_URL=http://127.0.0.1:8781 \
  node packages/cli/dist/bin/zcc.js project list

Without overrides, the CLI targets the installed app’s data in ~/.zcc and product API on port 8780.

Repository map

Path Responsibility
apps/app React interface: projects, conversations, fleet views, and plugin surfaces.
apps/server Product APIs, policy, durable state, and the plugin host.
apps/host-daemon Agent execution, provider bridges, PTY harnesses, and host filesystem operations.
apps/desktop Electron shell, native integration, runtime supervision, and compatibility IPC.
packages Shared contracts, agent runtime, SDKs, CLI, and UI primitives.
plugins First-party plugins and provider integrations.
website Public website, documentation, and marketplace.

Checks

pnpm typecheck
pnpm test
pnpm build
pnpm test:e2e

See CONTRIBUTING.md for the contribution workflow and e2e/README.md for end-to-end testing.

Open source, yours to shape

Zana is MIT-licensed. Fork it, adapt the interface, add your own integrations, and build around the tools and environments your team uses. Contributions to code, documentation, tests, and issue reports are welcome.

Zana’s architecture builds on the work of bb. We also draw inspiration from Cursor, Codex, and Claude Code.

Website · Issues · Contributing · Security · Code of conduct

About

Run, schedule, and coordinate fleets of coding agents from one desktop app

Resources

Code of conduct

Contributing

Security policy

Stars

31 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages