# App Server Test Client Quickstart for running and hitting `codex app-server`. ## Quickstart Run from `/codex-rs`. ```bash # 1) Build debug codex binary cargo build -p codex-cli --bin codex # 2) Start websocket app-server in background cargo run -p codex-app-server-test-client -- \ --codex-bin ./target/debug/codex \ serve --listen ws://127.0.0.1:4222 --kill # 3) Call app-server (defaults to ws://127.0.0.1:4222) cargo run -p codex-app-server-test-client -- model-list ``` ## Testing Thread Rejoin Behavior Build and start an app server using commands above. The app-server log is written to `/tmp/codex-app-server-test-client/app-server.log` ### 1) Get a thread id Create at least one thread, then list threads: ```bash cargo run -p codex-app-server-test-client -- send-message-v2 "seed thread for rejoin test" cargo run -p codex-app-server-test-client -- thread-list --limit 5 ``` Copy a thread id from the `thread-list` output. ### 2) Rejoin while a turn is in progress (two terminals) Terminal A: ```bash cargo run --bin codex-app-server-test-client -- \ resume-message-v2 "respond with thorough docs on the rust core" ``` Terminal B (while Terminal A is still streaming): ```bash cargo run --bin codex-app-server-test-client -- thread-resume ```