Jaz
Jun 2026Self-hosted app for coding agents: one agent per thread, prompts on a schedule, boards, memory, and git, running on a backend you own

Jaz is a self-hosted desktop app for working with coding agents. A backend you run on your own machine does the work; clients connect to it, locally or over HTTP. It is open source, Apache 2.0.
Why
I work with several coding agents and wanted one place to run them, with the threads, memory, and credentials on hardware I control rather than a vendor's. Two constraints shaped the design: the agent should be chosen per task instead of fixed, and scheduled work and memory should keep running on the backend whether or not a client is open.
What it does
- One agent per thread. Each thread is bound to a single agent: Codex, Claude, or OpenCode. Sign in with a ChatGPT or Claude plan to use its tokens, or use an OpenRouter / OpenAI / Anthropic API key.
- Loops. A loop is a saved prompt plus a cron schedule. On each run the backend executes the prompt through an agent in its own thread, so a task repeats on whatever schedule you set, from every few minutes to once a week. Each run records its status and output.
- Boards. A board is a grid of artifacts the agent renders, from plain text to interactive widgets. Assign a loop to a board and its runs keep those artifacts current.
- Memory. Facts the agent records persist across threads, each kept with its source, so a later thread can build on an earlier one.
- Git from the thread. The agent has git tools, so it can commit, push, and open pull requests without leaving the conversation.
- Tools and skills. Add tools through MCP servers and reusable instructions through markdown skills. Token usage is tracked per run.


Architecture
The backend, written in Go, is the always-on core. It runs the agent sessions and the loops, stores threads and memory in SQLite, holds your credentials, and exposes the tools. It drives agents over ACP (Agent Client Protocol) and tools over MCP, which is what lets the agent be swapped per thread.
The clients are thin. The desktop app (Electron + React) either starts a backend locally or connects to a remote one over HTTP with a per-device token, so the same workspace is reachable from more than one device.
Technology
Go backend, Electron + React desktop, SQLite for storage. Agents run over ACP (Agent Client Protocol) and tools over MCP. Codex, Claude, and OpenCode are interchangeable per thread, with OpenRouter / OpenAI / Anthropic for direct API access. Loops are scheduled with standard cron expressions. Apache 2.0.