Facts
70 measured facts about AI coding agents and tmux. Each fact is one file in facts/.
The table gives the date of the first measurement and the place of the measurement. "not recorded" means that the fact has no Measured on: line.
| No. | Title | Agents | Date | Measured on |
|---|---|---|---|---|
| 001 | An idle input box must be proved by its frame | Claude Code | 2026-08-18 | not recorded |
| 002 | A dialog can draw above a live input box | Claude Code | 2026-09-28 | not recorded |
| 003 | A question wizard fires one Notification, and its review screen has no footer | Claude Code | 2026-09-08 | not recorded |
| 004 | A digit answers a numbered dialog at once | Claude Code, Antigravity CLI | 2026-09-08 | not recorded |
| 005 | The suggestion in the input box is faint | Claude Code, Antigravity CLI | 2026-08-10 | not recorded |
| 006 | A pane in the alternate screen has no scrollback | Claude Code | not recorded | not recorded |
| 007 | The input box draws late, and early keys are lost | Claude Code | not recorded | not recorded |
| 008 | A pane redraws after a key, not with it | Claude Code | 2026-08-13 | not recorded |
| 009 | A clear followed fast by text leaves an invisible character | Claude Code, Antigravity CLI | 2026-10-19 | not recorded |
| 010 | The folder-trust menu of Claude Code reversed in 2.1.251 | Claude Code, Antigravity CLI | 2026-09-01 | not recorded |
| 011 | tmux reads a lone ";" argument as a command separator | tmux | not recorded | not recorded |
| 012 | tmux prints an access refusal and exits 0 | tmux | not recorded | not recorded |
| 013 | A long text becomes a paste marker | Claude Code, Antigravity CLI | 2026-10-24 | not recorded |
| 014 | agy reads a long text slowly, and the Enter waits behind it | Antigravity CLI | 2026-10-24 | not recorded |
| 015 | A dead pane reports no directory | none named | 2026-09-03 | not recorded |
| 016 | Remote Control draws on the same pane | Claude Code | 2026-08-20 | not recorded |
| 017 | The screen shape of agy | Antigravity CLI | 2026-10-23 | not recorded |
| 018 | agy draws no dialog above a live box | Antigravity CLI | 2026-10-24 | not recorded |
| 019 | The Codex rollout file cannot show an approval wait | Codex CLI | 2026-10-24 | not recorded |
| 020 | The screen shape of Codex CLI | Codex CLI | 2026-10-24 | not recorded |
| 021 | A Cursor CLI process holds its chat database open | Cursor CLI | 2026-10-30 | real machine |
| 022 | The terminals and the worker processes of the Cursor CLI on macOS | Cursor CLI | 2026-10-30 | real machine |
| 023 | The Claude pid file shows a dialog wait | Claude Code | 2026-10-30 | real machine |
| 024 | The Claude hooks around a permission dialog | Claude Code | 2026-10-30 | real machine |
| 025 | A Claude process holds its task folder open | Claude Code | 2026-10-30 | real machine |
| 026 | The Codex daemon holds the rollout files | Codex CLI | 2026-10-30 | real machine |
| 027 | The Codex rollout file shows an aborted turn | Codex CLI | 2026-10-30 | real machine |
| 028 | The agy hooks and files of a turn | Antigravity CLI | 2026-10-30 | real machine |
| 029 | The first start of each agent with no login | Claude Code, Codex CLI, Cursor CLI, opencode | 2026-10-30 | CI runner ubuntu-latest (x64) and CI runner macos-latest (arm64) |
| 030 | The first start of Gemini CLI, Copilot CLI, Qwen Code and Aider | Gemini CLI, Copilot CLI, Qwen Code, Aider | 2026-10-30 | CI runner ubuntu-latest (x64) and CI runner macos-latest (arm64) |
| 031 | The Claude pid file names the wait and a background shell | Claude Code | 2026-10-30 | real machine |
| 032 | The Claude question hooks carry the question and the options | Claude Code | 2026-10-30 | real machine |
| 033 | The Claude Bash dialog has four options, and "3." is not "No" | Claude Code | 2026-10-30 | real machine |
| 034 | The Claude task folder keeps the first session ID of the process | Claude Code | 2026-10-30 | real machine |
| 035 | A Claude resume keeps the session ID and the transcript file | Claude Code | 2026-10-30 | real machine |
| 036 | A Codex denial ends the turn | Codex CLI | 2026-10-30 | real machine |
| 037 | Ctrl+C during a Codex turn opens a task dialog | Codex CLI | 2026-10-30 | real machine |
| 038 | The Codex hooks | Codex CLI | 2026-10-30 | real machine |
| 039 | The Codex daemon outlives its TUIs and updates itself | Codex CLI | 2026-10-30 | real machine |
| 040 | The Codex databases hold no link from a TUI to its thread | Codex CLI | 2026-10-30 | real machine |
| 041 | An agy deny on the file dialog fires no end hook | Antigravity CLI | 2026-10-30 | real machine |
| 042 | The agy tool hooks need a matcher group | Antigravity CLI | 2026-10-30 | real machine |
| 043 | agy --continue reuses the files of the conversation | Antigravity CLI | 2026-10-30 | real machine |
| 044 | The agy presence file is a flock lock | Antigravity CLI | 2026-10-30 | real machine |
| 045 | The agy summaries database shows a running turn | Antigravity CLI | 2026-10-30 | real machine |
| 046 | The first start of ten more agents with no login | Amp, Goose, Crush, Kimi Code CLI, Continue CLI, Factory Droid, Cline CLI, Kilo Code CLI, Auggie, OpenHands CLI | 2026-10-30 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64) |
| 047 | Where the Windows installs keep their version | Claude Code, Codex CLI, Cursor CLI, opencode, Gemini CLI, Copilot CLI, Qwen Code, Amp, Crush, Kimi Code CLI, Continue CLI, Factory Droid, Cline CLI, Kilo Code CLI, Auggie | 2026-10-30 | CI runner windows-2022 (Windows NT 10.0.20348, x64), CI runner windows-2025 (10.0.26100, x64) and CI runner windows-11-arm (10.0.26200, arm64) |
| 048 | The agent installs on Windows arm64 | none named | 2026-10-30 | CI runner windows-11-arm (Windows NT 10.0.26200, arm64), compared with CI runner windows-2022 and windows-2025 (x64) |
| 049 | The free GitHub-hosted runner images for the probes and scenarios | Aider | 2026-10-30 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04, ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm, ubuntu-slim, macos-15, macos-26, macos-15-intel, macos-26-intel, windows-2022, windows-2025 and windows-11-arm |
| 050 | Linux and macOS differ in the cache folders and the open files of agents | none named | 2026-10-30 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64) |
| 051 | The Windows process trees of the agents in a pseudo console | Claude Code, Codex CLI, Cursor CLI, opencode, Gemini CLI, Copilot CLI, Qwen Code, Amp, Crush, Kimi Code CLI, Continue CLI, Factory Droid, Cline CLI, Kilo Code CLI, Auggie | 2026-10-30 | CI runner windows-2022 (Windows NT 10.0.20348, x64), CI runner windows-2025 (10.0.26100, x64) and CI runner windows-11-arm (10.0.26200, arm64) |
| 052 | The first screens on Windows match the Linux screens | none named | 2026-10-30 | CI runner windows-2022 (x64), CI runner windows-2025 (x64) and CI runner windows-11-arm (arm64) |
| 053 | Codex CLI on Windows ignores USERPROFILE and HOME | Codex CLI | 2026-10-30 | CI runner windows-2022 (x64), CI runner windows-2025 (x64) and CI runner windows-11-arm (arm64) |
| 054 | Cursor CLI on Windows uses the account name of Windows and its install folder | Cursor CLI | 2026-10-30 | CI runner windows-2022 (x64), CI runner windows-2025 (x64) and CI runner windows-11-arm (arm64) |
| 055 | The real profile of a Windows runner changes with no agent action | none named | 2026-10-30 | CI runner windows-2022 (x64), CI runner windows-2025 (x64) and CI runner windows-11-arm (arm64) |
| 056 | Gemini CLI warns about limited colors on ubuntu-22.04 | Gemini CLI | 2026-10-30 | CI runner ubuntu-22.04 (x64), ubuntu-22.04-arm (arm64), ubuntu-24.04, ubuntu-26.04 (x64), ubuntu-24.04-arm, ubuntu-26.04-arm (arm64), macos-15, macos-26 (arm64), macos-15-intel and macos-26-intel (x64) |
| 057 | Kilo Code CLI can draw nothing for 30 s while a child npm runs | Kilo Code CLI | 2026-10-30 | CI runner macos-26-intel (x64) |
| 061 | The first start of thirteen more agents with no login | Kiro CLI, Junie CLI, Codebuff, Qoder CLI, CodeBuddy Code, Letta Code, Neovate Code, Every Code, iFlow CLI, Mistral Vibe, gptme, Open Interpreter, Grok CLI | 2026-10-31 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64) |
| 062 | CODEX_HOME moves all files of Codex CLI, also on Windows | Codex CLI | 2026-10-31 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64); CI runner windows-2022, windows-2025 (x64) and windows-11-arm (arm64) |
| 063 | opencode 2 installs as @opencode/cli and starts a service process | opencode, opencode 2 | 2026-10-31 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64); CI runner windows-2022, windows-2025 (x64) and windows-11-arm (arm64) |
| 064 | The first start of more agents on Windows, and four that write to the real profile | Aider, Goose, OpenHands CLI, Kiro CLI, Junie CLI, Codebuff, Qoder CLI, CodeBuddy Code, Letta Code, Neovate Code, Every Code, iFlow CLI, Mistral Vibe, gptme, Open Interpreter | 2026-10-31 | CI runner windows-2022 (x64), CI runner windows-2025 (x64) and CI runner windows-11-arm (arm64) |
| 065 | Open Interpreter 0.0.56 keeps the file layout of Codex CLI | Codex CLI, Open Interpreter | 2026-10-31 | CI runner ubuntu-22.04, ubuntu-24.04, ubuntu-26.04 (x64); CI runner ubuntu-22.04-arm, ubuntu-24.04-arm, ubuntu-26.04-arm (arm64); CI runner macos-15, macos-26 (arm64); CI runner macos-15-intel, macos-26-intel (x64); CI runner windows-2022, windows-2025 (x64) and windows-11-arm (arm64) |
| 066 | The Claude pid files outside tmux: stale files, the version of the process, and no tmux key | Claude Code, tmux | 2026-10-31 | real machine |
| 067 | The Codex app-server daemon runs with no TUI and updates on its own | Codex CLI | 2026-10-31 | real machine |
| 068 | The open files of agy 1.4.12 on macOS and Ubuntu | Antigravity CLI | 2026-10-31 | real machine |
| 069 | The environment of an agent process names its terminal | Claude Code, Antigravity CLI, Cursor CLI | 2026-10-31 | real machine |
| 070 | psmux starts each pane with a long pwsh command that defines a claude function | Claude Code, Antigravity CLI | 2026-10-31 | real machine |
| 071 | A Windows update renames the running program of Claude Code and agy | Claude Code, Antigravity CLI | 2026-10-31 | real machine |
| 072 | The agy and Cursor CLI files on Windows | Antigravity CLI, Cursor CLI | 2026-10-31 | real machine |
| 073 | agy in the Debian VM of the Android Terminal app | Claude Code, Antigravity CLI | 2026-11-01 | real machine (an Android telephone) |
The parts of a fact
One file per measured fact: NNN-<slug>.md, numbered in order. A screen
names the facts that it pins in its facts field.
Each fact gives:
- The date and the agent version that were measured, and one line that
says where:
Measured on: real machine,Measured on: CI runner <image>, orMeasured on: emulation <image>. - What was measured, and how.
- The mechanism: why the agent behaves this way, when it is known.
- The incident that the fact caused, when there was one.
- The screens that pin the fact.
- What was not measured.
A fact that a later version changes stays in the file. Add the new measurement below it, with its date and version, and mark the old one as superseded.