The chat interface is your primary way to communicate with Codex in a workspace
thread. The thread runs on the selected registered host and uses the workspace
folder, Git branch, terminal, and files.
Message Types
The chat displays different types of messages, each with distinct styling:
User Messages
Your messages appear with an edit option. Click the pencil icon to modify and resend a message.
Codex Messages
Codex responses are rendered with full markdown support, including:
- Code blocks with syntax highlighting
- Tables and lists
- Links and formatted text
System Messages
Informational messages from the system, such as model initialisation or status updates.
Error Messages
Error messages appear in red with a warning icon. Click to expand and see full error details.
Writing Messages
The chat input supports rich text editing:
- Bold -
Cmd/Ctrl + B or click B
- Italic -
Cmd/Ctrl + I or click I
- Underline -
Cmd/Ctrl + U or click U
- Strikethrough - Click S
- Code - Click the code button or wrap with backticks
Attaching Images
You can attach images to your messages:
- Click the attachment button (paperclip icon) in the toolbar
- Drag and drop images directly into the chat
- Images are uploaded and referenced in your message
Attach relevant images, logs, or file references to show Codex exactly what
you’re working on or what issue you’re experiencing.
File Mentions
Type @ to mention files from your repository. The chat provides typeahead suggestions showing:
- Filename in bold
- Full path below each file
- Matches update as you type
Select a file to include it as context for Codex.
Sending Messages
Send Actions
| Action | Shortcut | Description |
|---|
| Send | Cmd/Ctrl + Enter | Send message immediately |
| Queue | Click Queue button | Queue message while Codex is running |
| Stop | Click Stop button | Stop the current Codex execution |
Execution States
The chat interface shows different states:
| State | Description |
|---|
| Idle | Ready to send a new message |
| Running | Codex is actively working |
| Queued | Your message is queued for when Codex finishes |
| Sending | Message is being sent |
When Codex is running, you can queue a follow-up message instead of waiting for
it to finish.
Codex Selection
Choosing a Codex Configuration
Select the Codex configuration from the chat toolbar. Available variants depend
on your configuration.
Variants
Codex supports variants or profiles. Use the variant selector to choose:
- Different model configurations
- Custom system prompts
- Specialised behaviours
Click Customise to configure Codex settings.
Approval Workflow
Codex can ask for your approval before making changes. This gives you control
over what gets implemented.
Why Approvals Exist
- Prevent unwanted changes - Review the plan before code is written
- Catch misunderstandings early - Ensure Codex understood your request
- Guide the approach - Steer Codex toward your preferred solution
Reviewing Plans
When Codex needs approval, you’ll see an approval card in the chat:
- Read the plan summary - What Codex intends to do
- Expand for details - Click to see the full plan with specific files and changes
- Choose an action:
- Approve - Codex proceeds with the plan
- Request Changes - Provide feedback for revision
Requesting Changes
If the plan isn’t quite right:
- Type your feedback in the chat input explaining what should be different
- Click Request Changes
- Codex revises the plan based on your feedback
- Review the new plan and approve or request more changes
Be specific in your feedback. Instead of “that’s not right”, say “don’t modify the database schema - just add the validation to the existing User model.”
Approval timeouts: If you don’t respond to an approval request, it may timeout. You’ll need to send a new message to restart the task.
Disabling Approvals
If you want Codex to work autonomously without asking for approval:
- Use a Codex variant without planning mode
- Or configure
dangerously_skip_permissions in Codex settings (use with caution)
Editing Messages
You can edit and resend previous messages:
Click the Edit Button
Click the pencil icon on any of your messages.
Modify Your Message
The message content appears in an editable text area. Make your changes. Submit the Edit
Click Retry to resend the modified message. The conversation continues from that point. Click Cancel to discard your changes.
Editing a message creates a new branch in the conversation. Subsequent messages after the edited one will be replaced.
Status Indicators
Token Usage
The context gauge shows how much of the Codex context window is used.
Understanding this helps you get better results.
What are Tokens?
Tokens are how AI models measure text. Roughly:
- 1 token ≈ 4 characters or ¾ of a word
- A 200K context window can hold about 150,000 words
The context window includes everything Codex has in conversation context: your
messages, its responses, code it has read, and file contents.
Why Token Usage Matters
When usage is high:
- Codex may lose earlier parts of the conversation
- Responses may become less accurate
- Codex might re-read files it already read
- Complex reasoning may suffer
Usage Levels
| Colour | Usage | What to Do |
|---|
| Grey | 0-30% | All good, continue working |
| Default | 30-60% | Normal usage, keep going |
| Orange | 60-80% | Consider starting a new thread soon |
| Red | 80%+ | Start a new thread - Codex is near its limit |
When starting a new thread due to high token usage, briefly summarise what was
accomplished. The new thread will not know what happened before.
Tasks Progress
When Codex breaks down work into tasks, a progress indicator appears in the chat toolbar:
- Progress bar showing completion percentage
- Task count (e.g., “5/5 completed”)
- Individual tasks with checkmarks when complete
Click the indicator to expand the full task list showing each step Codex is working through.
File Changes
The chat shows file modification summaries:
- Green numbers indicate lines added
- Red numbers indicate lines removed
- Click to view the file in the Changes panel
Command Execution
When Codex runs commands, you’ll see:
- Terminal icon for bash commands
- Exit code for completed commands
- Fix Script button if a command fails
Click to view full output in the logs panel.
Search Results
Search operations show summarised results. Click to expand and see full search output.
When you add inline comments in the Changes panel:
- A banner appears showing the comment count
- Comments are automatically included when you send a message
- Click Clear to remove pending comments
Keyboard Shortcuts
| Shortcut | Action |
|---|
Cmd/Ctrl + Enter | Send message (or contextual action) |
Cmd/Ctrl + B | Bold text |
Cmd/Ctrl + I | Italic text |
Escape | Cancel current action |