Farcaster is a native, keyboard-first workspace for running and coordinating coding agents across harnesses, with an embedded terminal and Neovim.
The agent space is changing fast, but switching harnesses shouldn't mean relearning the interface or leaving your editor behind. I wanted to use different agents and subscriptions with the same controls, and keep Neovim at the center of my workflow.
No. Farcaster brings your existing harnesses and subscriptions into one UI. It builds around them rather than competing with them.
- A native, keyboard-first desktop app.
- An agent, editor, and terminal for each session.
- Integrated Neovim for reviewing code, editing, and sending context to agents.
- Shared tools for coordinating workers and tracking tasks across harnesses.
The app embeds a full terminal emulator using libghostty. Each chat session has its own Neovim and terminal tab. I find this a pretty nice way to work with AI as I can think of each session as a separate row of agent | editor | terminal.
The following integrations with Neovim are built into the app:
- Clicking on any changed file opens it in Neovim at the changed line.
- You can open the transcript itself in a temp Markdown file in Neovim to copy/select things.
- You can send messages with context from Neovim (normal mode -> line context, select -> selected context) to the current session, another existing session or a new session to fire off a new task.
- Agents can present their work to be reviewed in Neovim with filenames/lines and context using a built-in tool. (
submit_review)
Farcaster comes with an optional MCP server (can be turned off in settings) that provides the following capabilities:
-
Workgraph: A set of tools (
workgraph_*) for creating tasks and dependencies that persist beyond any one agent session. -
Worker Tools: Tools for creating and communicating with agent sessions across harnesses, providers, and models.
-
Review: A tool (
submit_review) that lets agents present files, line ranges, and notes for you to navigate and review using Neovim's quickfix list.
I have been using Farcaster daily for a while. It's still early, and bugs/missing features are expected. The current list of supported harnesses is as follows:
- Codex (through codex-cli app server)
- Pi (through Pi RPC)
- OpenCode (version 2+, through the
opencodeserver executable) - Cursor (through Cursor CLI ACP adapter)
- Claude Code (through
claude -p) - Antigravity (through its ACP server)
See the harness feature table for capabilities and usage notes.
In theory, any harness supporting ACP could be integrated through the app's ACP adapter, but most harnesses support a wider range of features than ACP.
Download the latest build for your platform from the releases page. Builds for macOS ARM64 and x86_64 Linux are currently available.
On Linux, make the downloaded AppImage executable with chmod +x /path/to/Farcaster.AppImage, even when using appimage-run, so desktop launchers can resolve its app icon.
The macOS app uses ad hoc signing; it is not notarized. If macOS blocks the app because it is not notarized and you trust the download, follow Apple's instructions to allow it through System Settings → Privacy & Security → Open Anyway.
You'll also need the agent harness you want to use installed and signed in. To use Neovim in the embedded terminal, it must be available in your environment.
Found a bug, needed a platform-specific fix, or want to extend Farcaster? Bug reports and focused pull requests are welcome. For larger features, open an issue first. See CONTRIBUTING.md.
The repository includes a Nix development shell. To build and run from a local checkout:
nix develop
cargo run --locked --bin farcasterAfter a few attempts (tried to fork and extend codex-cli first, then tried building on Pi) I realized that the harness space is very fast moving, with a lot of work and innovation happening in the space. So it would be better to position the app in a way that benefits from said improvements instead of competing with them.
Thanks to Zed for GPUI, GPUI Component for the UI components, and T3 Code for the UI inspiration.


