Capture coding tasks by voice on your iPhone, work on them in Claude Code, Codex, or OpenClaw.
npm install -g @masslessai/push-todo
push-todo connect --autoThat's it. The second command:
- Opens browser for Sign in with Apple (one click, no codes)
- Scans your machine for all Claude Code, Codex, and OpenClaw projects
- Registers them with AI-generated keywords for voice routing
- Installs a LaunchAgent so the daemon starts automatically on login
| Command | Description |
|---|---|
push-todo |
List tasks for current project |
push-todo 427 |
Show task #427 |
push-todo create "Fix auth bug" |
Create a new todo |
push-todo search "auth" |
Search tasks |
push-todo review |
Review completed tasks |
push-todo update |
Update CLI + check agent versions |
push-todo --watch |
Live daemon monitor |
push-todo --help |
All options |
In Claude Code, use /push-todo or just say "show my Push tasks".
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ iPhone │───▶│ Push │───▶│ Agent │
│ (voice) │ │ (sync) │ │ (execute) │
└─────────────┘ └─────────────┘ └─────────────┘
- Capture — Speak your task on the Push iOS app
- AI Processing — Push extracts summary and routes to the right project
- Daemon Picks Up — Background daemon claims the task automatically
- Execute — Agent (Claude Code / Codex / OpenClaw) implements it in a git worktree
- Complete — Results sync back to your phone with PR links and summaries
The daemon runs continuously and executes tasks automatically:
push-todo --daemon-status # Check daemon and LaunchAgent status
push-todo --daemon-install # Install LaunchAgent (auto-start on login)
push-todo --daemon-uninstall # Remove LaunchAgent
push-todo --daemon-stop # Stop daemonTwo-layer reliability:
- LaunchAgent — starts daemon on login, restarts on crash (installed by
connect --auto) - Self-healing — every
push-todocommand checks if daemon is alive
One npm install sets up all detected agents:
| Agent | Integration | Slash Command |
|---|---|---|
| Claude Code | ~/.claude/skills/push-todo |
/push-todo |
| OpenAI Codex | ~/.codex/skills/push-todo |
$push-todo |
| OpenClaw | ~/.openclaw/skills/push-todo |
/push-todo |
Each agent gets its own action — tasks assigned to Claude Code are NOT visible to OpenClaw's daemon, even for the same repo.
push-todo cron add --name "standup" --every 24h --notify "Time for standup"
push-todo cron add --name "check-deps" --every 7d --health-check /path/to/project
push-todo cron list
push-todo cron remove <id>The daemon self-updates hourly (when idle). Manual update:
npm update -g @masslessai/push-todoOr run push-todo update to check CLI + agent versions.
- Push iOS app — voice-powered task capture
- Node.js 18+
- macOS (for LaunchAgent and E2EE features)
- Claude Code, OpenAI Codex, or OpenClaw
Most issues fixed by:
push-todo connect --autoThis re-authenticates, re-scans projects, and reinstalls the LaunchAgent.
Check daemon:
push-todo --daemon-statusView daemon logs:
tail -100 ~/.push/daemon.logUninstall:
push-todo --daemon-uninstall
npm uninstall -g @masslessai/push-todo- Website: pushto.do
- Issues: GitHub Issues
MIT License