CatchMe CLI

Local screen memory for agents: CatchMe records windows, keystrokes and clipboard, then answers questions about that history.

  • 520 ★ on the repository
  • Last commit
  • Apache-2.0
CLI

Broad access

Why this level

  • Continuously records keystrokes, clipboard and screenshots, including passwords and private messages.
  • A cloud summary provider receives activity descriptions and screenshots.
All reasons and checks

hkuds/catchme

Install

Manual install

git clone https://github.com/HKUDS/catchme.git && cd catchme

conda create -n catchme python=3.11 -y && conda activate catchme

pip install -e .

The first README Install block: clone, a conda environment with Python 3.11 and the package install.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Continuously records keystrokes, clipboard and screenshots, including passwords and private messages.
  • A cloud summary provider receives activity descriptions and screenshots.

This is third-party code. Review the repository files before installing.

What it does

CatchMe is a background program that records activity on a computer: window changes, keystrokes, mouse, screenshots, clipboard and notifications. Events are organised into a tree of day, session, app, location and action, and a language model writes short summaries at each level. An agent reaches that history three ways: the `catchme ask` command, the light skill `CATCHME-light.md`, or the `catchme mcp` server with four tools. Raw data stays local in `~/data/`. The summary model is set in `catchme init`: a cloud provider such as OpenRouter, or local Ollama, vLLM and LM Studio.

Who it is for. Developers and researchers who ask an agent to recall what they did at the computer: files edited, pages read, text typed.

Good fit when

  • An agent recalls what you worked on yesterday in Claude Code.
  • At day end you need the list of files you edited.
  • A week-old article or search query is found through window history.
  • A daily recap is built from app and session summaries.

Not a fit when

  • The screen shows other people's passwords, chats or documents that must not be recorded.
  • A cloud model for summaries is off the table and no local image-capable model exists.
  • Work happens on Linux and keyboard capture matters: it is not implemented there.

Example request

What did I do in Claude Code this afternoon? Name the files I changed.

Limitations

The program records keystrokes, clipboard and screenshots, so history may contain passwords and private messages. With a cloud provider the summary material goes to it; with a local model it stays on the machine. The model must handle images, and token use is capped with `llm.max_calls`. macOS needs Accessibility, Input Monitoring and Screen Recording permissions, Windows needs an administrator run, Linux supports X11 only. Python 3.11 or newer is required.

How to disable. Stop the `catchme awake` process, remove the skill from `~/.cursor/skills/catchme/` and the `catchme` section from the MCP configuration. Collected data sits in `~/data/` and is deleted separately.

FAQ

How do I connect CatchMe to an agent?

Pick the skill or MCP. For the skill, start `catchme awake` and copy `CATCHME-light.md` to `~/.cursor/skills/catchme/SKILL.md`. For MCP, run `pip install 'catchme[mcp]'` and add the `catchme` command with the `mcp` argument to the client configuration.

Which tools does the MCP server expose?

Four: `search_activity` answers questions about history, `list_days` shows recorded days, `get_session` opens a session, `get_tree` returns the tree for a date. The `catchme awake` process must be running.

Does data go to the cloud?

Raw data stays in `~/data/`. A cloud provider receives the summary material if you pick one. With Ollama, vLLM or LM Studio the program runs offline.

How does the full skill differ from the light one?

The light skill only reads history while `catchme awake` runs. `CATCHME-full.md` hands the agent the whole lifecycle: it starts and configures the program itself.

Which systems are supported?

macOS, Windows and Linux. macOS needs Accessibility, Input Monitoring and Screen Recording permissions, Windows needs an administrator run. Linux supports X11 only and keyboard capture is not implemented.

Discussion

No questions or reviews yet.

CLI tools
Official

Local screen and audio recording with natural language search, feeding your activity history to an agent via MCP

MCP serverBroad access22.3KRepository stars

A macOS app that remembers your screen and opens the history to agents over MCP: search, days, work threads, screenshots.

MCP serverBroad access125Repository stars

A macOS menu bar app writes the text of your focused windows into markdown, and its MCP server serves that record to agents

MCP serverBroad access207Repository stars

Minutes

minutes

Official

A local-first MCP server for meeting memory: on-device recording and transcription into Markdown, searchable from Claude Code, Codex, Cursor and any MCP client

MCP serverExtended access1.6KRepository stars

A local web panel where your agent builds widgets and screens on top of project files, APIs and MCP servers

CLIExtended access191Repository stars

A local MCP server that lets the agent ask you questions in the console and notify you when a task is done

MCP serverExtended access351Repository stars

README in short

The documentation has three stages: event capture, building the activity tree, and searching it without a vector database. The model walks summaries top-down, picks branches and opens raw data such as screenshots. A separate section covers provider setup and filter parameters.

README badge

Report a problem

Foxx AICatchMe
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.