{"id":49233168,"url":"https://github.com/byte5ai/aiui","last_synced_at":"2026-05-31T00:02:07.557Z","repository":{"id":353395106,"uuid":"1218936257","full_name":"byte5ai/aiui","owner":"byte5ai","description":"Native macOS dialogs for Claude Code — ask, confirm, collect input where you actually work.","archived":false,"fork":false,"pushed_at":"2026-05-30T15:12:09.000Z","size":16412,"stargazers_count":3,"open_issues_count":11,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T16:16:05.651Z","etag":null,"topics":["ai-agents","anthropic","claude","claude-code","developer-tools","dialog","macos","mcp","rust","svelte","tauri","ui"],"latest_commit_sha":null,"homepage":"https://github.com/byte5ai/aiui/releases/latest","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/byte5ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-23T11:12:48.000Z","updated_at":"2026-05-29T11:34:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/byte5ai/aiui","commit_stats":null,"previous_names":["byte5ai/aiui"],"tags_count":52,"template":false,"template_full_name":null,"purl":"pkg:github/byte5ai/aiui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byte5ai%2Faiui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byte5ai%2Faiui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byte5ai%2Faiui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byte5ai%2Faiui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/byte5ai","download_url":"https://codeload.github.com/byte5ai/aiui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/byte5ai%2Faiui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33714033,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","anthropic","claude","claude-code","developer-tools","dialog","macos","mcp","rust","svelte","tauri","ui"],"created_at":"2026-04-24T13:03:22.066Z","updated_at":"2026-05-31T00:02:07.551Z","avatar_url":"https://github.com/byte5ai.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"140\" valign=\"middle\"\u003e\n\u003cimg src=\"assets/aiui-icon2.png\" alt=\"aiui\" width=\"120\"\u003e\n\u003c/td\u003e\n\u003ctd valign=\"middle\"\u003e\n\n# aiui\n\n**Claude Desktop App can ask, confirm, and collect input — as real native macOS dialogs.**\n\n[![Download aiui.app](https://img.shields.io/badge/Download%20for%20Mac-aiui.app-4f46e5?style=for-the-badge\u0026logo=apple)](https://github.com/byte5ai/aiui/releases/latest)\n[![MIT License](https://img.shields.io/badge/MIT-Open%20Source-171717?style=for-the-badge)](https://github.com/byte5ai/aiui/blob/main/LICENSE)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## The chat is sometimes the wrong place\n\nWhen Claude Desktop App has a question that's really a pick between options, you\nhave to type the answer in prose. When it wants your go-ahead before\ntouching production, you get a blue Yes/No box — and nothing more\ntailored.\n\nThere's a better way.\n\n**aiui** lets Claude Desktop App open real, native dialogs on your Mac:\n\n- **\"Which of these three deploy strategies?\"** A window with three\n  cards, each with context. One click. Done.\n- **\"Shall I drop the production `orders` table?\"** A red destructive\n  button with a clear warning. One click.\n- **\"Fill in name, role, start date.\"** A clean form instead of a\n  typing-heavy chat exchange.\n- **\"Rank these five tickets in the order you want them.\"** Drag to\n  reorder, the order comes back as a clean list.\n- **\"Here's the flow I'm proposing — does it look right?\"** A real\n  diagram (Mermaid → SVG) instead of ASCII boxes-and-arrows that\n  collapse into nonsense in proportional fonts.\n\nThe agent gets your answer as structured data and keeps going. No side\nconversations, no throwaway web dashboards cluttering your system — just\na familiar macOS window that does what it looks like.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/aiui%20Demo%200.4.40.gif\" alt=\"aiui demo: Claude Code opens a native dialog, user clicks, agent continues\" width=\"720\"\u003e\n\u003c/p\u003e\n\n## Works locally and remotely\n\nRunning Claude Desktop App directly on your Mac? aiui plugs in.\n\nRunning it over SSH on a remote machine (dev box, project VM)? aiui\nautomatically sets up a tunnel so the remote agent can pop dialogs right\non your Mac. Register the host once in settings; from then on it just\nworks.\n\n## Install\n\nNo Terminal. No Homebrew. No Python. No `uv`.\n\n1. **[Download aiui.app](https://github.com/byte5ai/aiui/releases/latest)**\n   (DMG, Apple Silicon).\n2. Drag into `Applications`.\n3. Launch it once from Finder.\n\nThat's it. aiui registers itself with Claude Desktop App\nautomatically. The MCP server ships inside the app bundle as native\ncode, so you don't need a Python toolchain on your Mac.\n\nFrom now on aiui runs silently in the background — only while Claude\nDesktop App is open. No dock icon, no menu-bar clutter, no lingering\ndaemons. aiui tools are available in **every** Claude Desktop App session\nimmediately; no per-project config needed.\n\nUpdates install themselves in the background. If you want to force a\ncheck, use `/aiui:update` in Claude Desktop App, or open aiui's settings\nwindow.\n\n## Quickstart\n\nOpen any Claude Desktop App session and try one of these — just write it as a\nnormal message:\n\n\u003e *\"Ask me with aiui which of three deploy strategies we want today.\"*\n\n\u003e *\"Confirm with aiui before you delete the test files.\"*\n\n\u003e *\"Use aiui to collect a new user's name, role, and start date.\"*\n\nThat's the whole idea. The agent picks the right kind of dialog —\nyes/no, pick-from-options, or a multi-field form — opens it on your\nMac, you click, it carries on with your answer.\n\nThe first time you do this in a fresh project, run `/aiui:teach` once.\nThat briefs the agent on *when* to reach for aiui versus just typing\nback in chat — without it, the agent might forget aiui exists.\n\n## What you get\n\n| What annoys you today | With aiui |\n|---|---|\n| Typing answers that are really single clicks | A real macOS dialog |\n| Destructive actions with a vague \"please confirm\" | Red-styled yes/no, unambiguous |\n| Ad-hoc local web UIs for one-off tasks | No longer needed |\n| Remote hosts where the agent has no way to ask you | Dialogs tunnel back to your Mac automatically |\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/aiui-shot1.jpg\" alt=\"Claude Desktop App session with an aiui dialog on the Mac desktop\" width=\"720\"\u003e\n\u003c/p\u003e\n\n## Privacy\n\naiui runs purely locally on your Mac. No telemetry, no usage data, no\ncontent leaves your system. A local auth token lives in `~/.config/aiui/`\n(mode 0600) and is only scp'd to hosts you explicitly register in\nsettings.\n\n## Slash commands in Claude Desktop App\n\n| Command | What it does |\n|---|---|\n| `/aiui:teach` | Briefs the agent on aiui — loads the full widget catalog and design rules into the session. Run once per project. |\n| `/aiui:update` | Agent calls the `update` tool; aiui checks the release feed, silently installs any available update, and reports the version delta back. Responds before the background relaunch, so the agent always gets the answer. |\n| `/aiui:version` | Reports the currently installed aiui version in one line. |\n\n## FAQ\n\n**Is it safe?** aiui is open source (MIT), builds reproducibly, is Apple\nDeveloper-ID signed and notarized. It never phones home. The auth token\nstays under `~/.config/aiui/` on your machine and is only copied to\nhosts you explicitly register in settings.\n\n**Do I need `uv` or Python?** No. Since v0.3.0 the MCP server ships\ninside the aiui.app bundle as native Rust code — drag-and-drop install\nwith no outside dependencies.\n\nFor the special case of a remote SSH host that doesn't have aiui.app\nlocally, the standalone Python package `aiui-mcp` is still on PyPI and\ngets used via `uvx aiui-mcp`. aiui registers that automatically when you\nadd the remote in settings.\n\n**How much memory does it use?** The companion idles around 30–50 MB.\nThe underlying WebKit view loads only while a dialog is on screen.\n\n**Does it work on Intel Macs?** Currently Apple Silicon (arm64) only.\nIntel support isn't on the immediate roadmap — [open an issue](https://github.com/byte5ai/aiui/issues/new)\nif you need it.\n\n**Does it work on Linux or Windows?** Linux: no. Windows: in progress —\nthe Rust core and CI build already target Windows; interactive E2E testing\nand a first release are still outstanding. Follow\n[#118](https://github.com/byte5ai/aiui/pull/118) for status.\n\n**Can I use aiui without Claude Desktop?** The companion is\nauto-spawned by Claude Desktop via its MCP registration, so in the\ndefault setup, no. You can launch `aiui.app` manually though — as long\nas `localhost:7777` is reachable, any MCP client can render dialogs.\n\n**Why not just use Claude Desktop's built-in AskUserQuestion?** It's\ngreat for single yes/no or single-choice questions, but doesn't cover\nmulti-field forms, sortable lists, colour pickers, date ranges, or\nhierarchical pickers. aiui complements it.\n\n**Does aiui work in other MCP-capable clients?** The `aiui-mcp` server\nis a standard MCP server, so technically yes. The companion is Claude\nDesktop-specific in how it auto-installs, but the HTTP protocol on\n`localhost:7777` is client-agnostic.\n\n## Known limitations\n\n- **Apple Silicon only** (M1 and later). Intel Macs are not yet\n  supported.\n- **macOS 11 (Big Sur) or later.**\n- **One Mac per companion.** If you want dialogs on multiple Macs\n  simultaneously, each needs its own aiui install; tokens and tunnels\n  are per-Mac.\n- **Password fields** mask input while typing but return the value as\n  plaintext to the agent — see the [widget catalog](docs/skill.md#password-fields)\n  for guidance.\n- **No headless rendering.** aiui needs an active macOS GUI session;\n  it won't render dialogs on a server-style headless install.\n\n## Troubleshooting\n\n| Symptom | What to do |\n|---|---|\n| No dialog appears | Open `/Applications/aiui.app` and check the status dot. The remote must show \"connected\". |\n| \"aiui companion not reachable\" in chat | Claude Desktop isn't running, or the Mac is asleep. |\n| \"token rejected (401)\" | An old aiui process is holding the port on the remote. `pkill -f aiui` on the remote, then \"Remove\" and \"Add\" that remote again in aiui settings. |\n\nBugs or feature requests → [open an issue](https://github.com/byte5ai/aiui/issues/new).\nThe \"Report issue\" button in settings pre-fills version and build SHA.\n\n## Open source\n\naiui is MIT-licensed, hosted at [byte5ai/aiui](https://github.com/byte5ai/aiui).\nPull requests and issues are welcome.\n\n## For developers \u0026 curious users\n\nA bit more depth, in roughly increasing nerd-level:\n\n- [`docs/skill.md`](docs/skill.md) — the agent-facing widget catalog.\n  aiui installs this as a skill on first launch so Claude knows *when*\n  to use which dialog and how to write the labels. Worth a skim if you\n  want to understand what aiui can render.\n- [`CONTRIBUTING.md`](CONTRIBUTING.md) — repository layout, build flow,\n  release pipeline, design principles.\n- [`docs/strategy.md`](docs/strategy.md) — the product thinking behind\n  aiui's V1/V2 split and what we deliberately don't build.\n- [`aiui-mcp`](https://pypi.org/project/aiui-mcp/) on PyPI — the Python\n  MCP server, used automatically for remote SSH hosts that don't have\n  aiui.app installed locally.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyte5ai%2Faiui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbyte5ai%2Faiui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbyte5ai%2Faiui/lists"}