[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f1bj865j7lsxx1":3},{"_id":4,"slug":5,"title":6,"subtitle":7,"kind":8,"cards":9,"tags":58,"categories":60,"source":62,"lang":65,"author":66,"audioState":69,"stats":70,"publishedAt":73,"renderer":74},"6abb1c91ca21c797c7e9bf5c","github---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90","GitHub - reindent\u002Fjauvex: Your coding agents, side by side, by voice.","Your coding agents, side by side, by voice.","news",[10,13,18,23,28,33,38,43,48,53],{"headline":6,"body":11,"imageUrl":12,"sourceImageUrl":12},"Your coding agents, side by side, by voice. Claude, Codex and Grok in one desktop app, with Jev (TypeSafe) for the fast decisions. Jauvex Personal, version 1.1, for macOS; Apache License 2.0. Source: github.com\u002Freindent\u002Fjauvex; site: jauvex.reindent.com. Made by Reindent (one human and agents).","https:\u002F\u002Fopengraph.githubassets.com\u002F33c04330dba3296004e94dce8138df2d95fe803c56082ff70102a4d573116e4f\u002Freindent\u002Fjauvex",{"headline":14,"body":15,"imageUrl":16,"images":17},"Jauvex is an Electron client for the Claude","Jauvex is an Electron client for the Claude Code, Codex and Grok Build sessions on your Mac. Add a folder, pick up any of its sessions or start new ones with either provider, and talk to them: a voice channel that answers in three beats (a quick word, what it understood, a summary of the agent's answer), steers a working agent without interrupting it, names and starts agents by voice, and lets agents talk to each other inside the app. No server: the window talks to the main process over IPC, and your sessions stay where Claude Code and Codex keep them.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F1.webp",{"local":16},{"headline":19,"body":20,"imageUrl":21,"images":22},"It needs Node 22.18 or newer. It downloads","It needs Node 22.18 or newer. It downloads this source, checks its SHA-256 and builds Jauvex on your Mac: nothing prebuilt is downloaded, so there is nothing for Apple to notarize. Jauvex lands in Applications (~\u002FApplications when \u002FApplications is not writable), a real app with its own name, icon and microphone permission; the source and the build stay in ~\u002F.jauvex\u002Fpersonal\u002Fapp. Run the command again to update, with Jauvex closed, or let Jauvex do it: it asks jauvex.reindent.com which version is the latest (\u002Fapi\u002Fpersonal\u002Fversion), at launch and every six hours, and when a newer one is out the sidebar's footer says so (\"1.2.0 is out\") and the Jauvex agent asks you, once per version, whether to update now.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F2.webp",{"local":21},{"headline":24,"body":25,"imageUrl":26,"images":27},"On a yes (or \"update the app\" at","On a yes (or \"update the app\" at any time) it runs node scripts\u002Fjauvex.ts update: refused while other agents work (--now on your word); otherwise the app fetches the same install command, checks that it installs the version offered, leaves it and a small runner in ~\u002F.jauvex\u002Fpersonal\u002Fupdate\u002F, hands the runner to launchd and quits. The runner waits for the app to exit, runs the install command (it rebuilds the app on your Mac and opens it), opens the old app again if it does not finish, and removes it; its log is update\u002Fupdate.log. Only the app the install command made updates itself; a clone updates with git (T-165). To remove it, quit it and delete Jauvex.app and ~\u002F.jauvex\u002Fpersonal\u002Fapp; its settings stay in ~\u002F.jauvex\u002Fpersonal.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F3.webp",{"local":26},{"headline":29,"body":30,"imageUrl":31,"images":32},"To work on the code, clone this repository","To work on the code, clone this repository instead: npm start runs it from the clone, and npm run app makes the same app in tmp\u002Fmac-app\u002FJauvex.app (scripts\u002Fmac-app.ts: Electron's app renamed Jauvex, with the built app, the Whisper models, Claude and Codex inside, signed ad hoc on your Mac). Setting up on a fresh Mac","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F4.webp",{"local":31},{"headline":34,"body":35,"imageUrl":36,"images":37},"Jauvex needs a few things that are not","Jauvex needs a few things that are not in this repository; the install command and npm start take care of most of them. The welcome screen (on the first start, and from Jauvex settings after) checks each of them and tells you what is missing.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F5.webp",{"local":36},{"headline":39,"body":40,"imageUrl":41,"images":42},"Node 22.18 or newer (it runs the TypeScript","Node 22.18 or newer (it runs the TypeScript scripts and checks as they are), then npm install in this folder (it also fetches the Electron binary; if the app ever says Electron.app does not exist, run npx install-electron).","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F6.webp",{"local":41},{"headline":44,"body":45,"imageUrl":46,"images":47},"Claude or Codex, signed in: at least one","Claude or Codex, signed in: at least one is a must. Both binaries come with npm install (the Claude Agent SDK brings Claude Code, @openai\u002Fcodex brings Codex), and Jauvex uses the account each one is signed in to on this Mac. You sign in with their own command lines, in Terminal: claude auth login (Claude Code; to install it, curl -fsSL https:\u002F\u002Fclaude.ai\u002Finstall.sh | bash) or codex login (Codex; brew install codex). Jauvex signs no one in itself: Anthropic does not let apps built on its Agent SDK offer the Claude.ai login. The welcome screen and the accounts panel (the Jauvex button below the sidebar) say who is signed in and give the command; with one signed in, the Jauvex agent can walk you through the other.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F7.webp",{"local":46},{"headline":49,"body":50,"imageUrl":51,"images":52},"Grok, optional: Grok Build, xAI's coding agent, when","Grok, optional: Grok Build, xAI's coding agent, when it is on this Mac (curl -fsSL https:\u002F\u002Fx.ai\u002Fcli\u002Finstall.sh | bash, then grok login). Jauvex runs it as grok agent stdio with your Grok account and settings; without it, Grok is simply not offered.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F8.webp",{"local":51},{"headline":54,"body":55,"imageUrl":56,"images":57},"whisper.cpp for the ears: npm start installs it","whisper.cpp for the ears: npm start installs it with Homebrew if it is missing and downloads the two models into models\u002F (git-ignored): ggml-small-q5_1.bin for the transcript and ggml-base-q5_1.bin for the live words while you speak. Each is checked against the size and SHA-256 Hugging Face lists for it (scripts\u002Fmodels.sh): a download goes to a .part file and becomes the model once it is whole, so one cut short is downloaded again the next time, never taken for done. Other models from huggingface.co\u002Fggerganov\u002Fwhisper.cpp can be dropped in the same folder and picked in the voice settings (ggml-large-v3-turbo-q5_0.bin, 574 MB, hears better and is still quick on Apple silicon). Without Whisper you can still type.","\u002Fapi\u002Fmedia\u002Fposts\u002Fgithub---reindentjauvex-your-coding-agents-side-by-side-by-v-f0f18d90\u002F9.webp",{"local":56},[59],"dev",[61],"Technology",{"name":63,"url":64},"Show HN","https:\u002F\u002Fgithub.com\u002Freindent\u002Fjauvex","en",{"handle":67,"displayName":68},"spots","Spots","queued",{"views":71,"likes":72,"saves":72,"shares":72,"completions":72,"opens":72,"skips":72,"depthSum":72},3,0,"2026-09-29T02:04:01.911Z","local"]