Vizhi
For OpenAI Codex CLI

Vizhi for Codex

Physical hardware controls for OpenAI Codex CLI in Apple Terminal or Windows Terminal, on the Logitech MX Creative Keypad. Press a button. Ship code.

Version 1.6.2 · macOS + Windows · Available

MX Creative Keypad running Vizhi for Codex. Top row: three session keys labelled presskit, faq and stage; faq is selected and its state bar reads Allow? in Codex blue, the other two read Complete in grey. Middle row: Esc, No and Yes, with No in red and Yes in green, both carrying an amber approval badge. Bottom row: Shot, Dictate and Draft.
Page 1 during the demo: faq is the selected session and is waiting on an approval, so Yes and No carry the amber badge. The other two sessions have finished.

Vizhi for Codex puts Codex CLI on your keypad. Each session gets its own key, and you can answer Codex's questions, send ready-made prompts, run git commands, take screenshots and dictate, all without touching the keyboard. Voice runs on your computer; nothing is sent to the cloud. See the privacy policy. Not an OpenAI product.

Two promises: a key never shows something Codex did not tell it, and a key press never goes to the wrong window. If the plugin cannot reach the right session, the key beeps and does nothing.

What you need

  • A Logitech MX Creative Keypad and Logi Options+ 6.4 or newer.
  • Codex CLI, installed and signed in.
  • Mac: Apple Silicon and the built-in Terminal app.
  • Windows: Windows 10 or 11 and Windows Terminal.

You can install Vizhi for Codex and Claude Console together.

Install

  1. Install the plugin from the Logi Marketplace in Options+, or double-click the VizhiCodex_1.6.2.lplug4 file.
  2. Import the layout (below). The keypad stays empty until you do.
  3. Start Codex in Terminal (Mac) or Windows Terminal, and trust the hooks (below).
Mac

If macOS blocks the file, right-click it and choose Open.

Import the keypad layout

  1. Download the layout from the keypad layouts page: VizhiCodex-Keypad.lp5 for Mac, VizhiCodex-Windows.lp5 for Windows.
  2. In Logi Options+, open your keypad, click the ⋯ button and choose Import Profile. Pick the file.

You get five pages of keys. You only import once: updates never change your layout. (Coming from 1.6.0 or older? Delete the old profile and import the new one.)

Tip

Don't open the live keys (Sessions, Yes, No, Model, Context) in the Options+ icon editor. It freezes them and they stop updating.

Trust the Codex hooks

Codex tells the keypad what it is doing through small scripts called hooks. Codex asks you to approve them once:

  1. When Codex starts, it says “Hooks need review — 7 hooks are new or changed”. All seven are Vizhi's.
  2. Choose Review hooks, then Trust all and continue.
  3. Send a prompt. The keys come alive after your first prompt. Until then they say Run /hooks.

Skipped it? Type /hooks in Codex. Please don't start Codex with --dangerously-bypass-hook-trust; it switches off this check for everything.

Windows

After updating to 1.6.2, Codex asks you to trust the hooks once more. That is expected: the hooks changed so that the keypad can tell you when security software blocks them.

Permissions

Mac
  • Accessibility for Logi Plugin Service, so keys can type into Terminal.
  • Microphone, the first time you use voice.
  • Screen Recording, the first time you take a screenshot.
Windows

Only microphone access for desktop apps, if you use voice. The plugin also lets Codex's sandbox read the plugin and write the keypad's status files; nothing else on your system changes.

Sessions and answers

The three Session keys each show one Codex session: its folder name and what it is doing. Press a Session key to jump to that session; all other keys then act on it. Its bar turns blue.

Yes and No answer Codex when it asks permission:

  • One session: they just work.
  • Several sessions: press the Session key first. Until you do, Yes and No say Select session and beep, so you never answer the wrong one.
  • Amber dot: Codex is waiting for you. Red dot: the command is risky, such as git push or rm -rf.

More than three sessions? The extra ones keep running, but have no key.

Two review keys. Review on page 2 opens Codex's own review menu. Code Audit on page 3 types a review prompt for you.

Screenshots. Press Shot, pick an area, and the image is added to the conversation. Type your question and press Return. While you pick, the keypad briefly shows another profile; press Esc on your keyboard and it comes back.

There is no Cost key: Codex doesn't report cost.

Voice

  • Dictate: press, speak, press again. Your words are typed and sent.
  • Draft: the same, but not sent, so you can fix it first.
  • Project (page 4): say a project name to open it in a new tab with Codex.

The first time, the plugin asks for the microphone and downloads the speech model (about 140 MB). After that, voice works offline. If something goes wrong, the key tells you:

  • Starting (Windows): the microphone is getting ready.
  • Model loading: still downloading. Try again shortly.
  • Mic denied: allow the microphone in your system settings.
  • No speech: nothing clear was heard. Try again.
  • No target: no session selected. Press a Session key, then try again.
  • Not typed: the words could not be typed, for example the terminal closed.

Windows notes

  • Use Windows Terminal, and don't run Codex as administrator. To make Windows Terminal the default: Settings → System → For developers → Terminal.
  • Import the Windows layout, VizhiCodex-Windows.lp5.
  • “Selecting”: a Session key shows this for about a second while the tab comes to the front. Keys pressed during that second are ignored; press again after.
  • “Blocked”: security software removed or blocked the helper claude-console-hook.exe. Ask IT to allow the publisher Ravi Shankar S, or restore the file. The keys recover by themselves.
  • Signed files: every Windows file is signed by Ravi Shankar S. Check it in the file's Properties → Digital Signatures.
  • Renamed tabs: if a Session key can't switch to a tab you renamed, clear the custom name.

Key map

PageKeys, top row to bottom row
1 · SessionsSession 1 Session 2 Session 3 · Esc No Yes · Shot Dictate Draft
2 · CodexModel Plan Skills · Review Context Compact · Up Enter Down
3 · PromptsExplore Explain Document · Optimize Refactor Fix Bug · Code Audit Write Tests Security
4 · TerminalProject New Tab New Codex · Prev Tab Next Tab Exit · Agent Fork Resume
5 · GitGit Status Diff Log · Commit Push Create PR

New Tab and New Codex open in the selected session's folder. If none is selected, they use the first folder in ~/.claude/claude-console/project-roots, otherwise your home folder.

Troubleshooting

What you seeWhat to do
The keypad is empty after installing. Import the layout.
Keys say Run /hooks. Send a prompt in Codex. Still there? Type /hooks in Codex and trust the seven Vizhi entries.
Yes and No say Select session. More than one session is open. Press the Session key you mean first.
Yes and No beep. Codex isn't asking for permission right now. Type your answer in the terminal.
Codex is asking, but no key lights up. With two sessions in the same folder, the keypad may not be able to tell which one is asking. It lights nothing rather than guess. Answer in the terminal.
Keys say Blocked. Security software blocked the helper. Ask IT to allow the publisher Ravi Shankar S, or restore the file.
A Session key says Selecting. Normal on Windows for about a second. Press again after.
Keys never change, but presses still work. A key was opened in the Options+ icon editor. Delete the profile and import it again.
Windows: keys beep and Options+ mentions Windows Terminal. Run Codex in Windows Terminal, not as administrator.
Context key is blank. Normal when Codex hasn't reported it yet. The key stays blank rather than show a wrong number.

Still stuck? Send us the plugin log (VizhiCodex.log):

  • macOS~/Library/Application Support/Logi/LogiPluginService/Logs/plugin_logs/VizhiCodex.log
  • Windows%LOCALAPPDATA%\Logi\LogiPluginService\Logs\plugin_logs\VizhiCodex.log

Uninstall

  1. In Options+, right-click Vizhi for Codex, choose Uninstall, and delete its profile.
  2. Delete what the plugin leaves behind:
    • the seven Vizhi entries in ~/.codex/hooks.json (or the whole file, if nothing else is in it);
    • the folders ~/.codex/codex-console and ~/.codex/vizhi-runtime;
    • ~/.codex/vizhi, unless you want to keep your prompts;
    • the speech model in ~/.claude/claude-console/whisper, only if Claude Console is not installed.

What's new

1.6.2

  • Signed Windows files, so security software can trust the publisher once.
  • “Blocked” instead of silence when security software blocks the helper.
  • Answers stay on the right session, even with several Codex sessions open.
  • Yes and No work right after installing on every PC.
  • Session keys no longer show “action failed” on Windows; they say Selecting instead.
  • New Tab and New Codex open in your project folder, not your user folder.

No new layout needed. On Windows, Codex asks you to trust the hooks once more.

1.6.1

  • Full Windows support, including the amber and red dots.
  • Codex's own controls: Plan, Agent, Fork, Skills, Resume and Review.
  • Yes and No wait for you to pick a session when several are open.
  • Its own blue look, and its own prompts file at ~/.codex/vizhi/prompts.json.
  • Works side by side with Claude Console.

1.6.1 changed the layout; import it again if you are coming from an older version.

Known limitations

  • Three Session keys. More sessions run fine but have no key.
  • While you pick a screenshot area, press Esc on your keyboard to bring the keypad back.
  • A new signing certificate can occasionally be flagged by security software at first; the keys then say Blocked until the publisher is allowed.

Free · Privacy · EULA · Report a problem