Code from anywhere. Control your IDE from any messaging app.
Send a WhatsApp message. Watch your IDE write code.
txtcode bridges messaging apps to AI coding assistants, giving you full remote control over your development environment from your phone, tablet, or any device with a chat app.
You're on the couch, on the train, or away from your desk but you need to fix a bug, run tests, or scaffold a feature. With txtcode, your phone becomes a remote control for your IDE:
- Text your AI from WhatsApp, Telegram, Discord, Slack, Teams, or Signal
- It writes code using Claude Code, Cursor, Codex, Gemini CLI, or other adapters
- You stay in control with mode switching, tool calling, and session logs
No port forwarding. No VPN. Just message and code.
|
Connect via 6 platforms : WhatsApp, Telegram, Discord, Slack, Microsoft Teams, and Signal. First user to message is auto-authorized. Anthropic, OpenAI, Google Gemini, Mistral, Moonshot, MiniMax, xAI Grok, HuggingFace, and OpenRouter. Hot-switch between them with Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Kiro CLI, OpenCode, and Ollama (local/free). Full IDE control in |
Terminal, process manager, git, file search, HTTP client, environment variables, network diagnostics, cron jobs, and system info all callable by the LLM. Connect GitHub, Brave Search, Puppeteer, PostgreSQL, MongoDB, Redis, Elasticsearch, AWS, GCP, Cloudflare, Vercel, Atlassian, and Supabase as external tools via the Model Context Protocol. Per-session logs accessible from the TUI. Follow live, view by index, auto-pruned after 7 days. |
Requires Node.js 20+ and npm 10+.
# Install globally
npm install -g txtcode
# Launch the interactive TUI
txtcodeOr run without installing:
npx txtcodeThat's it. The interactive menu guides you through everything authentication, configuration, starting the agent, viewing logs, and more. No subcommands to memorize.
| Platform | Transport | Setup |
|---|---|---|
| QR code pairing | Scan QR in terminal on first run | |
| Telegram | Bot API | Create bot via @BotFather, paste token |
| Discord | Bot gateway | Create app at discord.com/developers, paste bot token |
| Slack | Socket Mode | Create app at api.slack.com, enable Socket Mode |
| Microsoft Teams | Bot Framework | Register bot at dev.teams.microsoft.com |
| Signal | signal-cli REST | Run signal-cli-rest-api via Docker |
txtcode supports 9 LLM providers for chat mode. Configure one or more during setup and hot-switch with /switch.
| Provider | Example Models | Notes |
|---|---|---|
| Anthropic | claude-sonnet-4-6, claude-opus-4-6 |
Claude family |
| OpenAI | gpt-5.2, o4-mini, gpt-4o |
GPT and o-series |
| Google Gemini | gemini-2.5-pro, gemini-2.5-flash |
Gemini family |
| Mistral | mistral-large-latest, codestral-latest |
Mistral + Codestral |
| Moonshot (Kimi) | kimi-k2.5, moonshot-v1-128k |
Long-context models |
| MiniMax | MiniMax-M2.5, MiniMax-M2.1 |
MiniMax family |
| xAI (Grok) | grok-4, grok-3-fast |
Grok family |
| HuggingFace | Discovered at runtime | Inference Providers API |
| OpenRouter | Discovered at runtime | Unified API for 100+ models |
All providers support tool calling and LLM can invoke any built-in tool or connected MCP server.
Use /code mode to route messages directly to a coding adapter with full IDE control.
| Adapter | Backend | CLI Required | Notes |
|---|---|---|---|
| Claude Code | Anthropic API | claude |
Official Claude CLI |
| Cursor CLI | Cursor | cursor |
Headless Cursor |
| OpenAI Codex | OpenAI API | codex |
OpenAI's coding agent |
| Gemini CLI | Google AI API | gemini |
Google's CLI |
| Kiro CLI | AWS | kiro-cli |
AWS Kiro subscription |
| OpenCode | Multi-provider | opencode |
Open-source, multi-provider |
| Ollama Claude Code | Local (Ollama) | ollama |
Free, no API key needed |
The primary LLM in chat mode has access to 9 built-in tools that it can call autonomously:
| Tool | Capabilities |
|---|---|
| Terminal | Execute shell commands with timeout and output capture |
| Process | Manage background processes: list, poll, stream logs, kill, send input |
| Git | Full git operations (blocks force-push and credential config for safety) |
| Search | File and content search across the project |
| HTTP | Make HTTP requests (GET, POST, PUT, DELETE, PATCH, HEAD). Blocks cloud metadata endpoints |
| Env | Get, set, list, and delete environment variables. Masks sensitive values |
| Network | Ping, DNS lookup, reachability checks, port scanning |
| Cron | Create, list, and manage cron jobs |
| Sysinfo | CPU, memory, disk, uptime, OS details |
txtcode integrates with the Model Context Protocol to connect external tool servers. Configure during initial setup or later via Configuration → Manage MCP Servers in the TUI.
| Server | Transport | Description |
|---|---|---|
| GitHub | stdio | Repos, issues, PRs, code search, Actions |
| Brave Search | stdio | Web, image, video, and news search |
| Puppeteer | stdio | Browser automation, screenshots, form filling |
| Server | Transport | Description |
|---|---|---|
| PostgreSQL | stdio | Read-only SQL queries and schema inspection |
| MongoDB | stdio | CRUD, indexes, vector search, Atlas management |
| Redis | stdio | Data structures, caching, vectors, pub/sub |
| Elasticsearch | stdio | Index management, search queries, cluster ops |
| Supabase | HTTP | Postgres, Auth, Storage, Edge Functions |
| Server | Transport | Description |
|---|---|---|
| AWS | stdio | S3, Lambda, EKS, CDK, CloudFormation, 60+ services |
| Google Cloud | HTTP | BigQuery, GKE, Compute, Storage, Firebase |
| Cloudflare | HTTP | Workers, R2, DNS, Zero Trust, 2500+ endpoints |
| Vercel | HTTP | Deployments, domains, env vars, logs |
| Server | Transport | Description |
|---|---|---|
| Atlassian | HTTP | Jira issues, Confluence pages, Compass components |
stdio = local process, HTTP = remote Streamable HTTP endpoint. You can also add custom MCP servers via Configuration → Manage MCP Servers.
Send these commands in any messaging app while connected:
| Command | Description |
|---|---|
/chat |
Switch to Chat mode to send messages to primary LLM with tools (default) |
/code |
Switch to Code mode to send messages to coding adapter (full IDE control) |
/switch |
Switch primary LLM provider or coding adapter on the fly |
/cli-model |
Change the model used by the current coding adapter |
/cancel |
Cancel the currently running command |
/status |
Show adapter connection and current configuration |
/help |
Show available commands |
Config is stored at ~/.txtcode/config.json. API keys and tokens are stored in your OS keychain (via keytar), never in the config file.
To modify settings, select Configuration from the main menu. Options include:
- Change Messaging Platform
- Change IDE Type
- Change AI Provider
- Manage MCP Servers (add/remove/enable/disable)
- Change Project Path
- View Current Config
- Location:
~/.txtcode/logs/ - Format:
session-YYYY-MM-DD-HHmmss.log(one per agent session) - Cleanup: Files older than 7 days are pruned automatically
- View: Select View Logs from the main menu to browse, view by index, or follow live
Verbose and debug output goes to the log file; the terminal shows only key status lines.
Command not found: txtcode
- Restart your terminal after
npm install -g txtcode - Ensure the global bin directory is in your PATH:
npm config get prefix
WhatsApp QR / connection issues
- Use a stable internet connection
- Select Logout from the main menu, then Start Agent again to get a fresh QR
- Session is stored under
~/.txtcode; don't delete it to keep the same linked device
Telegram / Discord / Slack not responding
- Confirm bot token via Configuration → View Current Config
- Telegram: ensure the bot is not blocked and you've started a chat with it
- Discord: ensure MESSAGE CONTENT INTENT is enabled in the developer portal
- Slack: ensure Socket Mode is enabled and event subscriptions are configured
AI or adapter errors
- Check API keys and credits for your provider
- Code mode: ensure the CLI for your adapter is installed and in PATH (
claude,codex,gemini,kiro-cli,ollama,cursor,opencode) - Check adapter and connection state via the main menu
- Select View Logs or check
~/.txtcode/logs/for detailed errors
MCP server connection failures
- stdio servers: ensure the required npm package is installed (e.g.
npx @modelcontextprotocol/server-github) - HTTP servers: verify the token is correct via Configuration → Manage MCP Servers
- Check View Logs for specific error messages
Apache-2.0