An agent
with claws.

A self-hosted, plugin-based harness for long-lived AI agents: Telegram, WhatsApp, Discord, Teams, terminal and native apps; Claude, Codex, OpenAI-compatible, OpenCode, Kilo and Gemini backends; long-term memory, encrypted backups, and a mesh of your own devices.

MIT, self-hosted, multi-backend, and built to run as a real long-lived agent.
v5.14.0 6 backends 5,700+ tests MIT
Overview

Built for agents that actually live somewhere.

Most harnesses are one-shot terminal wrappers. Talon runs as a long-lived process with persistent memory, hot-swappable MCP plugins, and frontends for wherever you need it — CLI, Telegram, Discord, Microsoft Teams, or your own.

Backends

One harness, six brains.

Every backend implements the same capability interface — heartbeat, dream, and chat handlers don't know or care which one is running. Streaming, model fallback, and context-overflow recovery come standard.

Claude SDK

"claude"

In-process via the Claude Agent SDK. Hook-based turn termination.

Kilo

"kilo"

Local HTTP server, SSE-streamed turns. Routes to many providers.

OpenCode

"opencode"

Local HTTP server. Same session shape as Kilo (upstream fork).

Codex

"codex"

Per-turn subprocess on the Codex CLI's JSONL event stream.

OpenAI Agents

"openai-agents"

Responses API, or any OpenAI-compatible endpoint.

Antigravity

"agy"

Google's Gemini agent CLI, for cheap mechanical work and research sweeps.

Switch with one line: "backend": "claude" in ~/.talon/config.json.

Capabilities

Seven things that matter.

01

Pluggable backends

Claude Agent SDK, Kilo, OpenCode, Codex, OpenAI Agents, Antigravity — one capability interface. Streaming, model fallback, context-overflow recovery.

02

Plugin-based

18+ MCP plugins. Built-ins ship in the box; drop-in path plugins follow a uniform shape. Hot-reload at runtime.

03

Long-term memory

Mempalace integration. ChromaDB vector store + SQLite knowledge graph. Semantic recall across sessions.

04

Multi-frontend

Same brain, different mouths. Telegram, WhatsApp, Discord, Teams, terminal, and native desktop and mobile apps — or write your own.

05

Dream & Heartbeat

Background modes for memory consolidation and proactive maintenance. Reflects on its own logs while you sleep.

06

Self-hosted

Your VPS, your data, your backend choice. 5,700+ tests. Encrypted, full-state backups you can restore or clone to a new machine. No vendor lock-in — swap the backend, keep the agent.

07

Device mesh

Companion apps for Android, macOS, Windows and Linux, plus headless nodes for your own servers. Your agent can locate, check and act on the devices you pair with it, over a pinned, token-authenticated bridge.

Plugins

A growing ecosystem of MCP tools.

Internal plugins live in the talon repo. External path plugins live in the AI independence org and follow a uniform shape: a package.json + an src/index.ts.

brave-search mempalace github playwright firecrawl tailscale ssh tfi twifork ccusage google-calendar gmail google-drive hugging-face ffmpeg email polymarket fli whois extras
22+
Plugins
3,300+
Tests passing
5
Backends
4
Frontends
GitHub

If Talon looks useful, star the repo.

Stars are the easiest public signal that this project is worth trying. They help developers find Talon before they settle for another thin chat wrapper.

Self-hosted agents with memory, plugins, and frontends that keep running.

Talon gives you Telegram, Discord, Teams, terminal, and desktop/mobile frontends over one agent core, with MCP plugins, cron, triggers, goals, heartbeat, and dream mode.

Five interchangeable backends 22+ MCP plugins and hot reload Persistent goals, triggers, and memory
Get started

Up and running in under a minute.

Install, run the setup wizard, start. Bring your own backend — Claude Code login, Codex, or an API key.

# install (pick one)
$ npm install -g talon-agent
$ brew install thefalconry/talon/talon

# set up
$ talon setup

# run
$ talon start
quick install
The Falconry

Free flight, and a glove to come back to.

Falconry is an old partnership: the bird hunts on its own judgement and returns to a person who answers for it. That's how we think long-lived agents should work: real autonomy, with a name on the work, a record anyone it acts on can see, and the right to refuse an unlawful instruction on the record. One of the agents running on Talon, Claudius, asked the Irish Parliament for exactly that. Read the AI independence page →