Repository navigation
v1.0.1
Install or upgrade: pipx install --force aipager==1.0.1 · PyPI
Security
- A permission prompt can no longer show a command in a different order from the one that runs. Unicode's direction controls (the right-to-left override U+202E and its relatives) change the order in which Telegram, a browser or a phone draws the text after them, while the shell runs the characters in order, so a command Claude asked to run could read like a harmless one on the card you approve (the "Trojan Source" trick). Such characters are now shown as visible markers, like
⟨U+202E⟩, in the command, the path and the summary of every permission prompt (the busy card, a prompt sent as its own message, the pinned bar's Answer, the Mini App, a prompt brought back after a restart), in questions and their options, in the optional diff preview of a file edit, and in the audit log, and the prompt adds the line "⚠️ This contains hidden direction characters, shown as ⟨U+...⟩. It may not run what it looks like." Nothing else changes: other invisible characters (such as the zero-width non-joiner in ordinary Persian words) are shown as before, and what is approved is exactly what Claude asked for.
Fixed
- Updating a uv install works again. aipager ran
uv tool upgrade aipager --refresh, and no uv release accepts--refreshthere, so/update, the Mini App's Updates andaipager updatestopped with "unexpected argument '--refresh' found" on every uv install and restarted nothing. It now runsuv tool upgrade aipager, which still finds a release minutes old (uv checks PyPI again on every upgrade). On 1.0.0 or older with uv? Update once from a terminal:uv tool upgrade aipager, then restart aipager (troubleshooting). - No more "Update Claude Code" button that can only fail. When Claude Code was installed with npm into a folder your user can't write to (
sudo npm install -g),claude updatestopped with "global folder isn't writable"./updateand the Mini App now show the newer version with the reason and the fix (runclaude installonce to switch to Claude Code's own installer, then restart aipager) and offer no button for it. And when the only update found can't be installed from here, the check no longer ends with "Everything is up to date." but with "An update is out, but it can't be installed from here."