A new AppifactRepl tool runs JavaScript against an Artifact's data (a REPL, or read-eval-print loop) but is currently gated off for most users
What
- A new tool called
AppifactReplruns a full Node.js REPL (a read-eval-print loop, meaning it executes a whole JavaScript program and returns the result) against an Artifact's document store, viaclaude.use("db"),claude.use("files"), andclaude.use("assets"), instead of making one Artifact store call at a time. It also supportsclaude.see()for attaching images or text to the tool's result, and can run a skill's own SDK script instead of the built-in one. - Internally it spawns a child process (running
node scripts/appifact_sdk.js --repl -) in a sandbox, and its output is scrubbed before being returned. - The tool is wired into the permission system, the always-allowed tool list, tool-name resolution caching, and file-read tracking. A permission-check helper adds a special case for it: it is treated as disabled if there is a matching deny rule, or a permission rule whose content is only whitespace or asterisks.
- Writes made through
AppifactRepldo not trigger the automatic artifact-opening behavior that normal file writes do. - The tool is gated behind multiple conditions: it only activates when the app is launched with the
remote_coworkentry point, an internal flag (tengu_buzzing_lightning, defaulting to false) is enabled, and a further enablement check (isAppifactReplToolEnabled()) whose implementation lives outside the shipped bundle and can't be fully inspected from source.
Why
This is groundwork for a more powerful way to build artifacts step by step with real code instead of individual tool calls, but it is not yet available to regular users: it's gated behind a server-side flag and only activates in the remote_cowork context, so most users won't see or be able to use it yet.
tengu_buzzing_lightning Not enough to sayNothing here resolved what this flag was doing on this version, so nothing here should be read as on or off.
This account: no value returned · anonymous baseline: no value returned · compiled default in v2.1.272: not a boolean we can read
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
Read once, for one account on one subscription tier, against v2.1.272. It isn't a statement about your account. What a flag value here can and cannot tell you
The `tengu_buzzing_lightning` gate that may control this tool has not been read for this account, so it's unclear whether or when it's…