diff --git a/AGENTS.md b/AGENTS.md
index 48f2126..037ce9b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -562,6 +562,14 @@ Three event names, all info-level. `agent_message_sent` and `agent_message_recei
`PHASE3_STEP10_EVENTS` frozenset exposed.
+#### Voice modes event (flash / default / think — docs/VOICE-MODES-DESIGN.md)
+
+| Event | Source | level | extra fields |
+|---|---|---|---|
+| `voice_mode_changed` | `codec-voice` | info | `mode` (`flash` \| `default` \| `think`), `via` (`voice` \| `ui`) |
+
+Single-emit, fresh or session cid. Think-mode tool calls need no new events — they route through the skill `Tool` wrappers → `run_with_hooks` → existing `tool_call`/`tool_result` envelope.
+
### Notifications (`~/.codec/notifications.json`)
Four sources can produce notifications: scheduler (crew completion), heartbeat (threshold alert), autopilot (ambient trigger), and Phase 1 Step 3's AskUserQuestion (`type="question"`). All write through `routes/_shared.py:51-127` except AskUserQuestion which writes via `codec_ask_user._write_question_notification`.
diff --git a/codec_voice.html b/codec_voice.html
index 69489bf..9d81075 100644
--- a/codec_voice.html
+++ b/codec_voice.html
@@ -455,6 +455,20 @@
.modal-overlay.show { display:flex; }
.modal-overlay img { max-width:100%; max-height:90vh; border-radius:var(--radius); border:1px solid var(--border); }
.modal-close { position:fixed; top:16px; right:16px; background:var(--surface); color:var(--text); border:1px solid var(--border); width:32px; height:32px; border-radius:50%; font-size:18px; cursor:pointer; z-index:101; display:flex; align-items:center; justify-content:center; }
+ /* ── Voice mode pills (flash / default / think) ── */
+ .mode-row { display:flex; gap:8px; justify-content:center; margin:10px 0 2px; }
+ .mode-pill {
+ background:var(--surface-2,#1f1f22); border:1px solid var(--border,#2a2a2f);
+ color:var(--text-dim,#6a6a70); font-size:11px; font-weight:700;
+ letter-spacing:1px; padding:5px 14px; border-radius:999px; cursor:pointer;
+ transition:all .15s; text-transform:uppercase;
+ }
+ .mode-pill:hover { color:var(--text,#ececec); border-color:var(--border-hover,#3a3a40); }
+ .mode-pill.active {
+ color:#fff; background:var(--accent,#E8711A); border-color:var(--accent,#E8711A);
+ box-shadow:0 0 12px rgba(232,113,26,.35);
+ }
+ .mode-pill.think.active { box-shadow:0 0 12px rgba(232,113,26,.5); }
@@ -514,6 +528,13 @@
Tap to start voice call
+
+
+
+
+
+
+