.qwen/e2e-tests/session-shell-permission-policy.md
Direct session shell is a user-visible daemon capability. It must stay disabled by default and only become visible and callable when the operator enables it on an authenticated daemon.
Start qwen serve on loopback without --token or
QWEN_SERVER_TOKEN.
/capabilities.features must not include session_shell_command._meta.qwen.methods must not include
_qwen/session/shell.POST /session/:id/shell must return 401 token_required.Start qwen serve --token <token> without --enable-session-shell.
/capabilities.features must not include session_shell_command._qwen/session/shell.session_shell_disabled.Start qwen serve --token <token> --enable-session-shell.
/capabilities.features must include session_shell_command._qwen/session/shell.X-Qwen-Client-Id must return
client_id_required.Focused automated checks:
cd packages/acp-bridge && npx vitest run src/bridge.test.ts
cd packages/cli && npx vitest run src/serve/server.test.ts src/serve/acpHttp/transport.test.ts src/commands/serve.test.ts
Final verification:
npm run build
npm run typecheck