Skip to content
salesforcePublic

About

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

Resources

Code of conduct

Contributing

Security policy

Stars

43 stars

Watchers

0 watching

Forks

Latest commit

 

History

744 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zana

Your agents. Your projects. All together.
Run the coding agents you already use. Follow their work and step in when they need you.

Download Zana · Watch the tour · Try Agent City ↗

Free and open source · macOS (Apple Silicon & Intel) · Windows x64

Keep your work moving

  • Your agents, together. Use Claude Code, Codex, Cursor, OpenCode, and Pi in structured conversations or native CLI sessions across your projects.
  • Know what needs you. See working, idle, and waiting agents. Answer questions from your Inbox and send the reply back to the agent.
  • Review the result. Read reports, diagrams, and diffs beside the conversation. Keep useful findings in your project Library.

Watch the tour

Start a task, follow your agents, and review the result in this 80-second recording of the app.

zana-tour.mp4

Watch with captions on the website →

Get started

Download for macOS or Windows →

  1. Install the .dmg for your Mac (Apple Silicon or Intel) or the Windows x64 installer.
  2. Add your first project: a local folder, an enrolled machine, or an SSH project.
  3. Open New Chat, choose a Thread, CLI Agent, or Team, and give it a task.

You’ll need Node.js 20+, Git, and your chosen coding-agent CLI installed and authenticated. Remote execution hosts and source development use Node.js 22+. macOS releases are signed and notarized. The app checks for updates and applies downloaded updates when you quit.

First-run guide · Daily workflows · Multiple machines

Make it yours

Agent City is a plugin. Add the panels, tools, skills, and integrations that fit your work—or build your own with the @zana-ai/zcc-plugin-sdk.

Zana for Slack comes pre-installed. Open Plugins → Zana for Slack → Configuration to link your account and connect Project channels. Slack setup and controls.

Browse plugins · Build your first plugin · SDK reference

How plugins work

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

Use Zana 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.

How Zana fits together

The desktop app, CLI, and agent tools connect through shared product services. Execution runs on your machines; plugins extend the app.

Architecture guide · Runtime boundaries

Explore the architecture

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

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, checks, and optional review

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.

Optional pre-push AI review (internal developers)

Authorized internal developers can opt in to an advisory TinyNod review that runs during git push. It is off by default, never blocks a push, and never runs in public CI.

git config --local zana.tinynod.enabled true    # opt in (set false to opt out)
TINYNOD_SKIP_HOOK=1 git push                    # skip TinyNod for one push

Setup for DevBar / AI Suite users and everyone else, reading results, having an AI fix findings, and troubleshooting are in docs/tinynod-local-review.md.

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

43 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages