Use this checklist after reloading the extension host or VS Code window.
- Confirm PocketAI opens from the activity bar and the custom icon renders correctly.
- Confirm the settings view loads without console errors.
- Confirm the chat view opens without console errors.
- If the workspace has
.pocketai.md,AGENTS.md, orCLAUDE.md, verify PocketAI detects project guidance and keeps the project-instructions badge visible.
- Verify
Local PocketAIis present by default. - Verify
Local PocketAIcannot be removed from the settings panel. - Add a non-local endpoint and verify it can be removed.
- Switch between endpoints from the chat header and confirm the active endpoint changes immediately.
- Switch endpoints from the settings panel and confirm the chat header stays in sync.
- Run
/endpointand verify it lists endpoints with the active one marked. - Run
/endpoint Codex Bridgeor/endpoint <url>and verify it follows the same switch and auto-connect behavior as the UI.
- If a Codex endpoint is already configured, verify PocketAI attempts to start it automatically on load.
- Verify
Connect to Codexremains collapsed by default and expands/collapses cleanly. - Verify the collapsed Codex card only shows the title and caret.
- Verify Codex login still works when not signed in.
- Verify the Codex status card updates after login or bridge startup.
- On
Local PocketAI, verify the footer model selector shows local models only. - On
Local PocketAI, verify the reasoning selector is hidden. - Switch to
Codex Bridgeand verify the footer model selector updates to Codex models. - On
Codex Bridge, verify the reasoning selector appears and shows only supported values for the selected model. - Change the Codex model and verify reasoning options update with it.
- Switch back to
Local PocketAIand verify the reasoning selector disappears again. - After switching away from Codex, send a prompt and verify the request still succeeds with no reasoning-related error.
- Create a new chat and verify it inherits the most recently selected model.
- Reload the window with multiple chats saved and verify invalid/stale models fall back cleanly to an available model.
- Reload the window after a Codex chat was using reasoning and verify stale reasoning does not leak onto a non-reasoning endpoint.
- Click the chat title and rename it inline.
- Verify the renamed title persists after switching chats.
- Open
History, switch chats, and verify the active session changes correctly. - Create a new chat from
Historyand verify it opens immediately. - Delete the currently active chat and verify the UI falls back to the most recent remaining chat.
- Delete a chat that is open in a panel and verify the panel rebinds to the fallback session instead of breaking.
- Run
/ask,/auto, and/planand verify each switches the chat mode immediately. - Run
/mode ask,/mode auto, and/mode planand verify they still work. - Run
/mode nopeand verify it shows usage guidance instead of changing mode. - Run
/helpand verify it lists the current slash commands and built-in skill shortcuts. - Run
/refreshand verify models refresh for the active endpoint.
- Run
what skills do you have?and verify the built-in PocketAI skill list is returned instantly. - Run
is the debug skill available?and verify the answer is returned instantly. - Run
use the missing skilland verify PocketAI answers locally that it is unavailable. - Run
/skillsand verify it prints the current skill catalog. - Run
/skills debugand verify it filters the list correctly. - Run
use the debug skill and inspect this errorand verify thedebugskill is activated. - Type a natural prompt like
fix these diagnosticsand verify the matching skill chip appears automatically. - Activate multiple skills such as
/debugand/reviewand verify both chips appear. - Remove one active skill chip and verify only that skill is removed.
- Use
/clearand verify active skills are cleared. - Run
/debugwith no extra text and verify it only activates the skill chip without sending a model turn yet. - Run
/debug inspect this crashand verify it both activates the skill and uses the remainder as the actual prompt.
- Run
fix these diagnosticsand verify the first response feels grounded in diagnostics. - Run
review my changesand verify the response uses git context. - Run
what is this project?or/initand verify the response uses project structure context. - Run
investigate why this is failingand verify the response starts with evidence gathering rather than an immediate guess.
- Send a normal prompt that should auto-route, such as
please investigate why this is failing, and verify the inferred skill chip appears before the turn runs. - Send a prompt that should stay plain chat, and verify no unexpected skill chip appears.
- Switch to an endpoint with no available models, send a prompt, and verify PocketAI blocks the turn with a clear no-model status instead of entering a stuck busy state.
- Send a prompt with images or files attached and verify the turn still starts normally with the same prompt-routing behavior.
- Trigger a workflow that uses
todo_writeand verify the harness pane shows aPlancard. - Verify pending, in-progress, and completed todo statuses render clearly in that card.
- Reload the chat and verify the current todo list is rebuilt from transcript history.
- Run
/tasksand verify the current tracked plan is printed into chat.
- Ask
what tools do you have available?and verify the answer is sensible. - Ask for an exact tool-style listing and verify
list_toolsbehavior still works. - Request a file read and verify it succeeds.
- Ask PocketAI to open a known file and verify the editor focuses that file, optionally at the requested line.
- Ask PocketAI to open a definition from a known symbol location and verify the editor jumps to the implementation.
- Ask PocketAI to search workspace symbols for a known name and verify it returns matching locations.
- Ask PocketAI for hover info on a known symbol and verify it returns type/docs/signature context.
- Ask PocketAI to list code actions for a location with an error or quick fix and verify it returns editor-suggested actions.
- Ask PocketAI to apply a known code action by exact title and verify the suggested quick fix/refactor is applied.
- Request a precise edit and verify approval flow still appears when needed.
- Request a file creation and verify it succeeds.
- Ask for diagnostics, definitions, references, or document symbols and verify those IDE-backed tools respond correctly.
- Trigger one edit requiring approval and verify the approval card appears.
- Verify the harness pane shows the pending approval at the same time.
- Approve the edit and verify the request resumes correctly.
- Reject an edit and verify the request resumes or stops cleanly.
- If multiple approvals are queued, verify
approve allandreject allstill work. - Open a diff preview and verify it matches the pending change.
- Start a background command and verify it appears in the harness pane.
- Verify the task status updates while it runs.
- Cancel a running background command and verify it moves to
cancelled. - Start a second background command after cancelling the first and verify the pane still behaves correctly.
- Run
/jobsand verify the current chat's background commands are listed. - Run
/jobs <taskId>and verify it prints the full task details/output into chat. - Run
/jobs cancel <taskId>and verify it cancels the matching background command. - Run
/jobs rerun <taskId>on a finished job and verify it starts a new background command. - Run
/jobs clearand verify finished, failed, cancelled, or interrupted jobs are removed while running jobs remain. - Use the
Detailsbutton on a task in the harness pane and verify it prints that task's details into chat. - Use the
Rerunbutton on a finished task in the harness pane and verify it starts a new background command. - Use the
Clear Finished Jobsbutton in the harness pane and verify stale jobs disappear from the card. - Start a long-running background command, reload the window, and verify it comes back as
interruptedinstead of disappearing. - After reload, run
/jobs <taskId>on that interrupted job and verify the preserved details still render. - After reload, rerun that interrupted job and verify it starts a fresh background command successfully.
- Run
/jobs clearwhen only running jobs exist and verify PocketAI reports that there is nothing to clear.
- Hover an assistant message and verify timing metadata appears on the right without shifting layout.
- Verify the header remains compact and does not feel oversized.
- Verify export still works from the chat header.
- Verify the message composer still sends with Enter and the send button.
- Reload the window and verify sessions restore correctly.
- Reload the window and verify active endpoint selection restores correctly.
- Reload the window and verify restored sessions are synced to the active endpoint rather than keeping stale per-session endpoint values.
- Edit
.pocketai.md,AGENTS.md, orCLAUDE.mdand verify PocketAI picks up the updated guidance after reload or file change. - Reload the window during a running background command and verify the
Statuscard and harness task list both mention interrupted work. - Run
/doctorand verify the report includes endpoint, provider, model, mode, skills, tracked tasks, approvals, background commands, and token estimate. - Run
/statusand verify it behaves like/doctor. - Run
/endpoint missing-nameand verify it fails cleanly without changing the active endpoint. - Run
/model missing-modeland verify it fails cleanly without changing the current session model. - Verify the harness pane shows a
Statuscard when the endpoint is unhealthy, approvals are pending, context is getting full, or background work needs attention. - Verify the
Statuscard quick actions work, especiallyCompact,Refresh Models, andJobswhen those situations apply. - Verify the extension still works when Codex is unavailable.
- Verify the extension still works when the active endpoint is unreachable.
- Verify there are no obvious duplicate assistant messages, duplicate approvals, or stuck busy states.