{"version":"2.1.281","anchor":"can-use-tool-control-requests-accept-a-computer-folder-field","canonical_anchor":"can-use-tool-control-requests-accept-a-computer-folder-field","heading":"Permission requests can carry server_prompt and computer_folder for SDK hosts","tier":"use","area":"SDK","url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281\/e\/can-use-tool-control-requests-accept-a-computer-folder-field","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.281","markdown":"### Permission requests can carry `server_prompt` and `computer_folder` for SDK hosts\n\ncan_use_tool permission requests gain untrusted server_prompt and computer_folder fields, forwarded to the SDK canUseTool callback\n\n**Unclear.** The finding does not say what `computer_folder` is used for once it is accepted.\n\n**What**\n\nWhen a program drives Claude Code through the SDK, the library for running it from your own code, permission prompts arrive as `can_use_tool` requests. The program answers them through its `canUseTool` callback. These requests gain two new optional fields, both marked internal:\n\n- `server_prompt`: a marker the session service (the cloud side of a session) puts on permission asks it worded itself. Hosts still show the tool name and input whatever it says.\n\n- `computer_folder`: an object with a `path` and a `computer_name`, naming a folder on one of the person's computers.\n\nBoth fields are documented as untrusted text to escape before display. Claude Code checks their shape, and a malformed `computer_folder` is removed and logged. Both are passed to `canUseTool` as `serverPrompt` and `computerFolder`, together with `requires_user_interaction` as `requiresUserInteraction`. Claude Code itself never sets these fields; only the session service does.\n\n**Why**\n\nIf you build on the SDK, your permission prompts can now show which folder on which computer a request is about. Treat both fields as untrusted text, and escape them before showing them.\n\n- Area: SDK\n- Names: `computer_folder`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5"}