Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/openclaw/peekaboo/typegit clone --depth 1 https://github.com/openclaw/PeekabooWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00000 | $0.01962 |
| Opus 5 | $0.00000 | $0.00981 |
| Sonnet 5 | $0.00000 | $0.00392 |
| Haiku 4.5 | $0.00000 | $0.00196 |
Grade A, and why
type scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
peekaboo type
type sends text through the automation service. Direct CLI background delivery is the default and accepts an
explicit app, PID, exact window, or snapshot whose metadata identifies a process. Default background-only Agent/MCP
calls are stricter: they require an explicit fresh exact non-dialog snapshot, and an optional element ID must come from
that snapshot. Use press for standalone keys or chords.
Key options
| Flag | Description |
|---|---|
[text] |
Optional positional string; supports escape sequences like \n (Return) and \t (Tab). |
--snapshot <id> |
Target a specific snapshot. Background-only Agent/MCP requires an explicit fresh exact non-dialog ID and does not infer latest. |
--at x,y |
Atomically focus one pixel in the exact captured window and type without activating it. Requires an explicit non-latest screenshot snapshot and cannot be combined with target selectors or --foreground. |
--coordinate-space <space> |
Interpret --at as global_display_points (default), image_pixels, or normalized coordinates from that snapshot. |
--delay <duration> |
Time between synthetic keystrokes (default 0; bare values are milliseconds). |
--wpm <80-220> |
Enable human-typing cadence at the chosen words per minute. |
| `--profile <linear | human>` |
--clear |
Clear before typing. Background targets prefer one AXValue replacement; keyboard fallback uses Cmd+A, Delete. |
| Target flags | --app <name>, --pid <pid>, or an exact window selector for background input. |
--foreground |
Focus a supplied target or intentionally send foreground/global keyboard input. |
| Focus flags | Foreground focus controls (--no-auto-focus, --space-switch, etc.). |
Delivery modes
- Background is the default when Peekaboo can resolve a target from flags or snapshot metadata. Exact window/snapshot routes pin the process generation, window ID/bounds, and focused element without activating the app. App/PID routes upgrade when one eligible window exists and refuse when several are eligible.
- Background-only Agent/MCP requires an explicit fresh exact non-dialog
snapshot. It refuses implicit-latest, targetless, app/PID/window-only, and snapshot-plus-selector requests before dispatch. - Pixel-focus background typing (
--at) derives one exact process/window/bounds target from the named screenshot snapshot. Its focus-only Accessibility write and all keyboard units share one process lane and one receipt; target drift before any unit is retry-safe, while a completed focus write or typed prefix is retry-unsafe and requires a fresh observation. The focus prelude never presses a button or selects a row. - Foreground (
--foreground) focuses the target first and sends normal/global keyboard input. Use it for apps or fields that only accept text in the focused key window, or when focus changes are desired. - If no target process can be resolved,
typefails before sending input. Add--foregroundonly when global delivery is intentional.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 91 lines · 0 tokens per session scan A ba570bc3a28e
type is a command published in the GitHub repository openclaw/Peekaboo (5,088 stars, last pushed today), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,962 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
upload
Archive, upload, and submit to external TestFlight (full loop with monitor).
release
Create a new Remarc release using the automated GitHub Actions workflow.
imark-review
Open a markdown document in Imark for review and wait for the reviewer's notes.
imark-notes
Read the Imark comments out of a markdown file.
archive
Create xcarchive for TestFlight.
build
Build debug and launch HomeClaw.