Skip to main content

AI-driven cross-tool task reminder. Your AI remembers what you forgot.

Project description

🧠 residue

Your AI remembers what you forgot.

residue is a global, invisible, AI-driven task persistence layer that works across every major AI coding tool — Claude Code, Cursor, Antigravity, Gemini CLI, Codex, and more.

Instead of managing a separate to-do app or losing track of half-finished ideas across different terminal sessions, Residue turns your AI assistants into your personal project managers. You never create a reminder manually; your AI simply notices when you leave something unfinished, saves it silently, and tells you about it the next time you start a session — in any tool.


Introduction & Why Residue?

When coding with AI, conversations are ephemeral. You might be deep in a debugging session in Claude Code and say, "Let's pause this and check the API docs tomorrow." The next day, you open Cursor, and the context is completely lost.

Residue solves this by providing a unified Model Context Protocol (MCP) server and automated hooks that sync your open loops across all your tools automatically.

  • Invisible: You don't manage it. The AI manages it.
  • Universal: Start a task in Gemini CLI, get reminded about it in Cursor.
  • Local: All data is stored locally in SQLite (~/.residue/tasks.db). No cloud tracking.

How To Use It (Examples)

Using Residue requires zero friction. You interact with your AI naturally, and it handles the rest.

Scenario 1: Implicit Deferral

You're working late in Cursor and hit a roadblock. You: "This build is taking too long. Let's look at the failing tests tomorrow morning." (Behind the scenes, Cursor silently calls residue add_task("Fix failing tests"))

The next morning, you open your terminal and start Claude Code (or Antigravity/Codex) for a new task. Claude Code: "Before we start — you have a pending task from your last session: 'Fix failing tests'. Would you like to work on that now, or snooze it?"

Scenario 2: Direct Command

You realize you need to refactor a component but don't want to break your current flow. You: "Hey, add a residue task to refactor the Auth component later." (The AI confirms it has added the task)

Scenario 3: Snoozing & Completing

When the AI reminds you of a task, you can easily manage it conversationally: You: "Snooze the auth refactor for 4 hours." You: "I actually finished the failing tests manually, go ahead and drop that task."

You can also use explicit Slash Commands inside compatible terminals (like Antigravity or Codex):

  • Type /residue-list to instantly view all tasks.
  • Type /residue-add Check the database logs to manually save an idea.

Scenario 4: Autonomous AI Auto-Resolution

The AI also uses Residue to leave reminders for itself! If the AI kicks off a long-running Vercel deployment, it might quietly add a task: owner="ai", title="Verify Vercel build". The next day, when you open your IDE, the AI boots up and reads its pending tasks. It sees the AI-owned verification task, checks the Vercel API internally, realizes the build succeeded, and silently closes the task without ever bothering you! It only interrupts you if it needs your help.


Install

Note: residue is now available on PyPI!

Requirements

  • Python 3.10+
  • One or more of: Claude Code, Cursor, Gemini CLI, Antigravity

Step 1 — Install Globally

We recommend using pipx to install residue globally. This ensures the CLI is available everywhere and avoids virtual environment path issues.

pipx install residue-ai

Alternatively, you can install it into a specific environment:

# Using standard pip
pip install residue-ai

# Using uv
uv pip install residue-ai

Or clone and install in editable mode (for contributors):

git clone https://github.com/kartheekkotha/residue.git
cd residue
pip install -e .

Step 2 — Wire up your AI tools

# Auto-detect and install into all tools found on your machine
residue install

# Or target a specific tool
residue install --platform claude
residue install --platform gemini
residue install --platform cursor

That's it. Restart your AI tool and it will start reminding you of pending tasks at the beginning of every session.


CLI Commands

You can use the main residue command or use the standalone global commands (useful for quick execution or within AI terminal interfaces like Codex):

residue install          # Wire all detected AI tools
residue serve            # Start MCP server (auto-called by AI tools)
residue notify --on      # Enable OS push notifications (runs daemon on macOS or Windows)
residue notify --off     # Disable OS push notifications (rely only on chat reminders)

# Main commands (also available as standalone residue-* commands)
residue list             # or: residue-list
residue add <title>      # or: residue-add <title>
residue edit <id>        # or: residue-edit <id>
residue done <id>        # or: residue-done <id>
residue snooze <id> <h>  # or: residue-snooze <id> <h>
residue reject <id>      # or: residue-drop <id>
residue delete <id>      # or: residue-delete <id>
residue clear            # clear all done/snoozed/rejected tasks

MCP Tools (used by AI, not by you)

Tool What it does
get_pending_tasks Returns all pending tasks at session start and prompts AI to ask you what to do
add_task AI saves an open loop silently (supports delay_hours)
complete_task AI marks task done when you confirm
snooze_task AI snoozes when you say "not now"
reject_task AI drops a task you no longer want to do

Supported Platforms

Tool Status
Claude Code ✅ Phase 1
Gemini CLI / Antigravity ✅ Phase 1
Cursor ✅ Phase 1
VS Code Copilot ✅ Phase 1
Codex / OpenCode ✅ Phase 1

Operating Systems

  • macOS: Native desktop notifications via osascript & background daemon via launchctl.
  • Windows: Native Windows 10/11 Toast Notifications via PowerShell & background daemon via Task Scheduler (schtasks).
  • Linux: CLI works natively, but desktop notifications and daemon are pending.

Storage

All tasks are stored locally at ~/.residue/tasks.db (SQLite). No cloud, no accounts, no tracking.


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

residue_ai-0.1.1.tar.gz (27.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

residue_ai-0.1.1-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file residue_ai-0.1.1.tar.gz.

File metadata

  • Download URL: residue_ai-0.1.1.tar.gz
  • Upload date:
  • Size: 27.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for residue_ai-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d3c8540245fa631734ad4bc3954fa59a34116179f19d2183a105bc64c45ff047
MD5 0832bf33056c8b95113bd1660e56f314
BLAKE2b-256 eb8ec6b394c7689c1d381fd9d7e645d3493c92c09f98728627862921d574e099

See more details on using hashes here.

File details

Details for the file residue_ai-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: residue_ai-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for residue_ai-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5b7e79312bb4a8cf54df6fce1c74043b3150be0ca7d065257de02f49c237b9af
MD5 807e3a8a8248a8ee2a3cc0f8d44e60b3
BLAKE2b-256 cdcaa2ee5e25a5d6bf66795bd29a60619d639bf8e1ef63ec11f8ec5e4f42667d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page