1DOLLY 72APPLICATION closed-source-agent3REQUIRES HOST runtime@04REQUIRES HOST display@05REQUIRES HOST audio@06REQUIRES HOST download@07REQUIRES HOST http@08REQUIRES HOST input@09REQUIRES HOST packages@010REQUIRES HOST snapshot@011REQUIRES HOST threads@012REQUIRES HOST touch@013REQUIRES HOST upload@014151617FROM /v0.1.4/Dollyfile-system 915c71d4ce772989e3076060967824e48ccd6a1a6259624fe6213542df088dbc18INSTALL /v0.1.4/Dollyfile-amy 90701fe1be537fae9f0e376f2dcfda377c019426cdbab48faeb9107f91bcb6de19INSTALL /v0.1.4/demos/javascript/Dollyfile-janis-install 0cb0afe788a87320a637319fa39ea67187922a182f5cf1d9d031d6d3e99c902d20INSTALL /v0.1.4/demos/closed-source-agent/Dollyfile-secretenv 35c345a221b4a5e10a2200147d7276ae75737f2f69881eddc9f4d327705dc5ab21INSTALL /v0.1.4/demos/rust/Dollyfile-ripgrep aa5afce6b980ec9f6f338e2578d4297f4664dfb07e4a61cb2230a9e678e56afb22REQUIRES TOOL cc23REQUIRES TOOL foreground24REQUIRES TOOL janis25REQUIRES TOOL janis-install26REQUIRES TOOL rg27282930FILE /tmp/anykey.c31323334 int main(int argc, char **argv) {35 struct termios cooked, raw;36 if (argc != 2 || tcgetattr(0, &cooked) != 0) return 2;37 raw = cooked;38 raw.c_lflag &= ~(ICANON | ECHO | ISIG);39 raw.c_cc[VMIN] = 1;40 raw.c_cc[VTIME] = 0;41 if (tcsetattr(0, TCSAFLUSH, &raw) != 0) return 1;42 write(2, argv[1], strlen(argv[1]));43 char key;44 const long count = read(0, &key, 1);45 tcsetattr(0, TCSAFLUSH, &cooked);46 if (count != 1) return 1;47 if (key == 3) return 130;48 return write(1, &key, 1) == 1 ? 0 : 1;49 }50SLOP cc -O1 /tmp/anykey.c -o /usr/bin/anykey51EXPORTS TOOL anykey5253FILE /usr/share/doc/closed-source-agent/NOTICE54 THIS IMAGE RUNS CLAUDE CODE55 ---------------------------56 Claude Code is Anthropic's command-line coding agent. It is Anthropic's57 software and not part of Dolly; Dolly is not affiliated with or endorsed by58 Anthropic.59 - Continuing downloads Claude Code 2.1.112 (April 2026, 18.7 MB) from the60 npm registry into this browser session, checks its digest and runs it61 unchanged. This site serves nothing of it. Its use is subject to62 Anthropic's terms: https://code.claude.com/docs/en/legal-and-compliance63 - Its interface works here with your own Anthropic API key, in its minimal64 mode (--bare): no hooks, LSP, plugin sync, attribution, auto-memory,65 background prefetches, keychain reads or CLAUDE.md discovery, and only66 the Read, Edit and Bash tools. The key is asked for once, is not shown67 and is given to Claude Code alone. Usage is billed to you. Requests go68 from this browser to Anthropic; the site serving Dolly does not receive69 them.70 - Signing in with a Claude or Console account does not work in a browser:71 started as published, Claude Code stops at "Unable to connect to72 Anthropic services" before its sign-in screen, and its /login needs a73 local callback server that nothing here can run.74 - Print mode works: export ANTHROPIC_API_KEY=... and then75 closed-source-agent -p 'your request'76 - A saved or exported session contains the downloaded package and what77 Claude Code stored of your sign-in (the last 20 characters of the key).78 - Limits: an old release (the last that is JavaScript), run on Janis79 instead of Node; its Bash tool finds no shell here; a wrong key shows80 the API's error only after about three minutes of its own retries.8182838485FILE /usr/bin/closed-source-agent8687 package=/usr/lib/node_modules/@anthropic-ai/claude-code88 start=89 if test $# -eq 0 || ! test -s $package/cli.js; then90 clear91 cat /usr/share/doc/closed-source-agent/NOTICE92 keys=$'\nEnter (or any other key): download and start with an API key (--bare)\np: start as published Ctrl+C: leave without downloading\n'93 test $# -eq 0 || keys=$'\nAny key: download and run it with your arguments Ctrl+C: leave\n'94 start=$(anykey "$keys") || exit $?95 fi96 if ! test -s $package/cli.js; then97 printf '\nDownloading Claude Code 2.1.112 from registry.npmjs.org ...\n'98 janis-install --integrity sha512-9FUgJ0EOvILyhIqxFKNVliebiUjL68dwpEW3eGSSe0vkVDJ1c5qMDNWc22gW3zkD7zRAqtfQPSGv0t4vMM2DPA== @anthropic-ai/claude-code@2.1.112 || exit 199 fi100 export USE_BUILTIN_RIPGREP=0101 if test $# -gt 0 || test "$start" = p; then102 janis $package/cli.js "$@"103 elif test -n "$ANTHROPIC_API_KEY"; then104 janis $package/cli.js --bare105 else106 secretenv ANTHROPIC_API_KEY $'\nAnthropic API key (not shown; Enter alone starts without one): ' janis $package/cli.js --bare107 fi108EXPORTS TOOL closed-source-agent109110FILE /etc/dolly/init.slop111 cd /workspace112 /bin/foreground -i /usr/bin/closed-source-agent113 printf '\nDolly: image entry exited; entering the recovery Slop shell. closed-source-agent starts it again.\n'114 /bin/foreground -i /bin/slop115116ENTRY /bin/foreground -i /bin/slop /etc/dolly/init.slop117