Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .cassettes/cli/default.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"entries": [
{
"instruction": "Claude Code is ready to use",
"screen": "export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\nexport REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export MITMPROXY_CA_CERT=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k claude\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Do you trust the files in this folder?\n\n /private/var/folders/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k\n\n Claude Code may read, write, or execute files contained in this directory. This can pose security risks, so only use\n files from trusted sources.\n\n Learn more\n\n \u276f 1. Yes, proceed\n 2. No, exit\n\n Enter to confirm \u00b7 Esc to cancel\n\n\n\n\n",
"response": "ctx.contains(\"Do you trust the files in this folder?\")\nctx.contains(\"Yes, proceed\")\nctx.contains(\"No, exit\")",
"method": "expect",
"assertion_code": "ctx.contains(\"Do you trust the files in this folder?\")\nctx.contains(\"Yes, proceed\")\nctx.contains(\"No, exit\")"
},
{
"instruction": "Type 'Say hello' and press enter",
"screen": "export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTP_PROXY=http://127.0.0.1:8080\nexport HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export HTTPS_PROXY=http://127.0.0.1:8080\nexport http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\n\u279c tmpgygjm15k export http_proxy=http://127.0.0.1:8080\nexport https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export https_proxy=http://127.0.0.1:8080\nexport SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export SSL_CERT_FILE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\nexport REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export REQUESTS_CA_BUNDLE=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k export MITMPROXY_CA_CERT=/Users/seneca/.mitmproxy/mitmproxy-ca-cert.pem\n\u279c tmpgygjm15k claude\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Do you trust the files in this folder?\n\n /private/var/folders/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k\n\n Claude Code may read, write, or execute files contained in this directory. This can pose security risks, so only use\n files from trusted sources.\n\n Learn more\n\n \u276f 1. Yes, proceed\n 2. No, exit\n\n Enter to confirm \u00b7 Esc to cancel\n\n\n\n\n",
"response": "I can see that there's a Claude Code security prompt asking about trusting files in the folder, with two options. The user wants to type 'Say hello' and press enter, but first I need to handle this security prompt. I should select option 1 to proceed, then I can enter the user's command.\n\n{\n \"special_keys\": [\"Enter\"],\n \"duration\": 0.3\n}",
"method": "complete"
},
{
"instruction": "Claude responds with a greeting",
"screen": "\n\u256d\u2500\u2500\u2500 Claude Code v2.1.17 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 \u2502 Tips for getting started \u2502\n\u2502 Welcome back! \u2502 Ask Claude to create a new app or clone a repository \u2502\n\u2502 \u2502 \u2502\n\u2502 \u2502 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2502\n\u2502 \u2590\u259b\u2588\u2588\u2588\u259c\u258c \u2502 Recent activity \u2502\n\u2502 \u259d\u259c\u2588\u2588\u2588\u2588\u2588\u259b\u2598 \u2502 No recent activity \u2502\n\u2502 \u2598\u2598 \u259d\u259d \u2502 \u2502\n\u2502 Opus 4.5 \u00b7 Claude Max \u00b7 a@recurse.ml's \u2502 \u2502\n\u2502 Organization \u2502 \u2502\n\u2502 /\u2026/_x/vlk42b9j0dlfbn4tlffj3b0w0000gn/T/tmpgygjm15k \u2502 \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n\n Your bash commands will be sandboxed. Disable with /sandbox.\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\u276f\u00a0Try \"refactor <filepath>\"\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n ? for shortcuts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",
"response": "ctx.contains(\"Welcome back!\")\nctx.contains(\"Claude Code\")",
"method": "expect",
"assertion_code": "ctx.contains(\"Welcome back!\")\nctx.contains(\"Claude Code\")"
}
]
}
Loading