Skip to content

v1.3.4 — telling the caller what it cannot remember

Choose a tag to compare

@desteny-dev desteny-dev released this 01 Aug 17:22
· 19 commits to main since this release

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