v1.3.4 — telling the caller what it cannot remember
The reader of these replies has no memory of the machine
Install this one — it includes 1.3.3.
An assistant calling this server does not remember the desktop between turns. It knows what the last reply told it, and nothing else. Two things it could not know now travel with every acting call.
Is the block still open
Only set_guard reported that. After two turns the assistant is guessing — and a block held open by a forgotten start is exactly how somebody ends up locked out of their own desk.
Every reply from a tool that can change the screen now carries:
{
"block_open": true,
"seconds_held": 12.4,
"input_held": true,
"working_in": "Notepad",
"reminder": "End the block with set_guard block:'end' the moment you no longer need the screen."
}input_held is the measured one — when Windows refuses the input hooks it says so, and adds that this is a shared screen and not to type without a ref. Readers are not nagged; they open no block.
What was swallowed during this call
_safe hides exceptions on purpose: one control that refuses to answer must not abort a walk over two hundred of them. Every swallow was already recorded — but only self_test showed them, and nobody runs self_test mid-task. So a call that quietly lost three exceptions looked exactly like a clean one.
Anything swallowed during this call is now attached to the result it may have shaped, with the type, the line, and what it means for that result. A clean call says nothing.
Prompted by a review arguing that with an LLM as the user, the guard is no longer politeness but an error-detection system. That framing is right, and these were the two places the system could not see itself.
The same review's other headline items were checked against the code and are not open: the ring buffer it asks for is _FEHLER_LOG and shipped before 1.0.0, _safe has never been except: pass, and there is no update download to verify a hash of — this server opens no socket.
Two downloads — take the one for your AI
| Download | For | How |
|---|---|---|
pc-screen-control.mcpb |
Claude Desktop | Settings → Extensions → Advanced → Install extension |
pc-screen-control-gpt.zip |
ChatGPT desktop, Codex, Cursor, VS Code, Cline, Zed | Extract, double-click INSTALL-FOR-GPT.bat, restart |
Same server.py, same bundled libraries, same 34 tools. Only the wrapper differs.
Install
Claude: remove the old version first (Settings → Extensions), quit Claude completely including the tray icon, install the .mcpb, start twice. Run self_test — it should report 1.3.4, all green.
ChatGPT / Codex: extract the zip, double-click INSTALL-FOR-GPT.bat, restart ChatGPT.
Needs Windows and Python 3.9+ with "Add python.exe to PATH" ticked.
Verify the downloads (optional)
pc-screen-control.mcpb
SHA-256: 8b147e25e0eb425dd61612a7b0c007e76b7eb1a148fab20ea6915b7241b44c11
Size: 7763253 bytes
pc-screen-control-gpt.zip
SHA-256: 0d0936a022dd3ab9fa5b50d8e3aa37ebc08bfb2bd35868fd09733a81f772748c
Size: 7669630 bytes