Fix remote skill popup loading#17702
Merged
Merged
Conversation
Ensure TUI skill refreshes use the active cwd so remote app-server responses are matched correctly, refresh skills on startup, and resync open mention popups when skill data arrives. Co-authored-by: Codex <noreply@openai.com>
etraut-openai
approved these changes
Apr 14, 2026
etraut-openai
left a comment
Collaborator
There was a problem hiding this comment.
Nice! Thanks for fixing this.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix the TUI
$skill popup so personal skills appear reliably when Codex is connected to a remote app-server.What changed
cwdslist$popup when skill mentions are updatedRoot cause
The TUI was sometimes sending
list_skillswithcwds: []afterSessionConfigured.For the launchd app-server flow, the server resolved that empty cwd list to its own process cwd, which was
/. The response therefore came back tagged withcwd: "/", and the TUI later filtered skills by exact cwd match against the actual project cwd such as/Users/starr/code/dream. That dropped all personal skills from the mention list, so$only showed plugins/apps.Verification
Built successfully with remote cache disabled:
cd /Users/starr/code/codex-worktrees/starr-skill-popup-20260413130509 bazel --output_base=/tmp/codex-bazel-verify-starr-skill-popup build //codex-rs/cli:codex --noremote_accept_cached --noremote_upload_local_results --disk_cache=Also verified interactively in a PTY against the live app-server at
ws://127.0.0.1:4511:$Applied Devbox,CI Debug,Channel Summarization,Codex PR Review, andDaily DigestFiles changed
codex-rs/tui/src/app.rscodex-rs/tui/src/chatwidget.rscodex-rs/tui/src/bottom_pane/chat_composer.rs