Skip to content
miblo

Miblo release notes

What changed in each Miblo version: the app, the Claude Code plugin, the command line, the gadget's firmware and Miblo+.

Miblo 1.24.0

Released

Sem o aparelho

  • The Miblo gadget is optional. Miblo installs and runs without one: the Miblo app, the pet and your sessions' status (on your phone too, with a free Miblo account) work on their own, and Miblo+ stays the paid plan. What a gadget adds is a screen on your desk, the pet at your desk, and visits between Miblos. A computer can be linked to your Miblo account with no gadget at all.
  • Pairing is a step you can skip. The installers (install.sh, install.ps1, "Install Miblo.command") ask "Have a Miblo on your desk?": Return pairs it now, l (or d in Portuguese) leaves it for later. The Miblo app asks the same at the end of the install (Pair now / Later). --no-pair still skips the question.
  • No Miblo answering is never an error. When nothing answers on your network, the pairing wizard says the gadget is optional and finishes (Esc in the picker, Return in the plain questions; r searches again), and the installers end normally with how to pair one later. /miblo:pair and miblo pair --wizard work as before.
  • Empty states instead of errors. With no Miblo paired, the app's My Miblos says "No Miblo paired" with Add a Miblo, miblo status and /miblo:status say the same in one line, and the app's Now tab, the status line and the hooks work as usual. The Claude Code start-of-session note about pairing is shown once, and says the gadget is optional (it used to come back every day).

Linking the account (audit 2026-10-08)

  • An AI agent can no longer link this computer to a Miblo account or unlink it. The account decides which phones may join this computer, so miblo account link and miblo account unlink (and so switching accounts) are refused under an AI agent; /miblo:plus now tells you the command to run in your own terminal (or Sign in with your Miblo account in the Miblo app) instead of running it.
  • With a Miblo paired, a change of account needs the code on its screen, as miblo server set already does. Linking asks for it once you confirmed the link code on miblo.ai, names the account about to be linked, and writes nothing before it (a refused link gives its token back to the site). Unlinking asks for it too. In the Miblo app you type the code on the Phone screen; from elsewhere, miblo account confirm <code> finishes it. No longer have that Miblo? Forget it in My Miblos and link again.
  • With no Miblo paired, linking still needs your own terminal or the Miblo app, the site asks your second factor again when you confirm the code, and your account gets a security e-mail for every computer linked or unlinked, with its name ("computer linked" / "computer unlinked", within the account's hourly notice budget). Unlinking still takes the account's phones off this computer.

A tela do Miblo no app

  • The Miblo's screen, live, in the Miblo app. The Now tab shows the Miblo's screen as it is right now: your sessions, the limit rings, "needs you", the quiet Desk, pet mode and the greetings. It is the gadget's own screen code (built from the firmware as WebAssembly), so it behaves exactly like the gadget. It wears the look of your first paired Miblo, My pet included, or the factory look when you have no Miblo. It follows the app's language and your computer's time zone.
  • No gadget needed. The screen in the app works the same with or without a Miblo on your desk. With a Miblo paired, the app reads its look from it every few minutes, only while the app asks.
  • Light on the computer. The screen draws 10 frames a second only while the Now tab is on screen, and stops while the window is hidden or another tab is open.
  • What the app's screen does not show: Wi-Fi and pairing screens, updates, visits between Miblos, and what reaches the gadget through its own commands (focus, timer, /miblo:say, reminders, meeting mode). See [docs/screen-in-app.md](../screen-in-app.md).
  • For tools: miblo status --screen adds the snapshot the gadgets get and the first Miblo's look (plain miblo status is unchanged). Firmware developers: make screenweb builds the module (emcc 6.0.10) and tests it.

Responder pelo celular em todas as IAs

"Você responde pelo celular. Se a sessão está trabalhando, a resposta entra quando ela termina a vez; se está parada, ela acorda e responde." No channel to accept, no new window, no system dialog.

  • Every AI tool Miblo shows takes replies from the phone (Miblo+). A reply typed while a session works goes in when it finishes its turn, through each tool's own end-of-turn hook: Claude Code, Codex, GitHub Copilot CLI, Gemini CLI and Cursor. The phone says "Entra quando a sessão terminar a vez", then "Entregue".
  • An idle session wakes up and answers. Claude Code (a background hook that wakes the session), Codex (codex queue) and OpenCode (Miblo's OpenCode plugin) through their official ways. Copilot CLI, Gemini CLI and Cursor have none: when the session runs in tmux or GNU screen, Miblo types the reply into its own terminal after checking that the session is the one in front; otherwise it goes in at the next turn end.
  • Approvals from the phone for Codex and OpenCode, as for Claude Code: only the prompts the tool itself shows, never anything it would not have asked. Copilot CLI, Gemini CLI and Cursor keep their own flow (status and replies).
  • Remote tasks continue from the phone. Answer a Claude Code task and it goes on, still in the background, with the same safe mode, time limit and Stop; miblo plus tasks open <id> (and the app's Abrir) opens it in your terminal where it stopped.
  • Fixed: remote Claude Code tasks inherited a marker of the session that started Miblo's bridge and could run without saving their transcript.
  • Every reply is shown on the computer (the gadget and a notification naming the phone) and kept in miblo plus audit. After updating, run miblo setup codex again (or let the bridge add it) and trust Miblo's two new hooks in Codex's /hooks; restart OpenCode, Copilot CLI, Gemini CLI and Cursor sessions to pick up the new hooks. Claude Code sessions started before the update keep the old reply channel.

Pareamento protegido na rede local

  • The pairing code never goes on the network any more (audit 2026-10-08, M1). Pairing a Miblo now runs a password-authenticated key exchange with the 4-digit code on its screen: your computer and the Miblo prove to each other that they know the code without ever sending it, and the pairing token is worked out on both sides, never sent either. Someone else on the same Wi-Fi who intercepts the pairing gets one guess at the code per attempt, counted by the Miblo's wrong-code lockout, and nothing they can study afterwards. The token signs every request from the first one (no rotation needed).
  • Firmware 1.24.0 only pairs this way. An older Miblo app or plugin can no longer pair it: update Miblo on that computer first. Pairings you already have keep working as they are.
  • A Miblo on an older firmware is updated first, in the same step. Miblo never falls back to sending the code in clear. When you pair a Miblo still on 1.23 or older (/miblo:pair, miblo pair, the installers' pairing step), Miblo says "This Miblo is on 1.23: updating it first", pairs it the old way only to run the update at once (the signed release, the update code on its screen), then asks for the new pairing code and pairs it the protected way, in the place of that temporary pairing. If the update cannot run (no internet, no firmware for that board, you stop), the temporary pairing is dropped and nothing stays paired on the computer (the Miblo's settings page may still list it until you remove it there). A Miblo once seen pairing the protected way is never paired the old way again from that computer.
  • For tools: on that path miblo pair <ip> <code> ends with exit code 5 (type the update code: miblo pair <ip> --update <code>, which ends with 6 once updated), and miblo pair <ip> --update-cancel gives up; /api/info and the mDNS TXT advertise pair: 2 / pv=2. Details in [docs/lan-pairing-pake.md](../lan-pairing-pake.md).

Fixes/Segurança

  • Security audit 2026-10-08, the computer-side Lows: plus.json's signature now also covers the history, the approval timeout and the task time limit (a plus.json from 1.21-1.23 keeps its switches; miblo plus status names the three to confirm again, once, with one miblo plus set … on your phone); the bridge reads at most one body per challenge and refuses an oversized one before reading it; "Parar" also stops what a remote task started outside its process group (setsid), and on Windows stops the whole tree from the first step; approvals.log is signed and chained, checked by the new miblo plus audit verify; miblo update rollback is refused under an AI agent; redaction also hides long random tokens, a hex key after a secret word, password X in a command and the values a tool gives under secret-named keys.

Miblo 1.23.2

Released

  • Fix: replies from the phone never registered their channel. The command that registers the reply channel in Claude Code (claude mcp add) was given the server's name after the -e option, which takes several values, so Claude Code read the name as an environment entry and refused it — on every computer, since replies exist. The name now comes first. With replies on, the next start of the Miblo bridge registers the channel (nothing to redo), and the Miblo app's "turn replies off and on again" warning goes away. Sessions still need to be started with the command the app shows (Claude Code's channels preview).

Miblo 1.23.1

Released

  • Fixes:
  • A new phone no longer waits for ever. After you typed the computer's code on the phone, the phone app threw away the computer's proof that the code was right, so it kept showing "Waiting for your computer" and never showed the sessions. The phone app (miblo.ai/app and a self-hosted relay) now keeps that proof and connects within seconds; a phone that reads it late still connects. The exact step is now covered by a test on both sides.
  • Replies from the phone now work when turned on with the phone's confirmation. Turning replies on (in the Miblo app, in a terminal or through the plugin) confirmed on your phone left them on without the reply channel in Claude Code, so the app said "turn them off and on again" for ever. The computer now registers the channel when the change is applied and whenever it starts with replies on. Nothing to redo: update, and the next start of the Miblo bridge registers it.
  • The code field of the computer's confirmation on the phone is visible in dark mode (border, background and a placeholder).

Miblo 1.23.0

Released

  • Confirm on your phone, with the code your computer shows (Miblo+): turning on approvals, replies, history or new tasks, adding a task folder, or a longer wait or task limit no longer asks for the code on your Miblo's screen. Your computer (the terminal or the Miblo app) shows a 6-digit code; open the Miblo app on a phone you already use, check what it turns on, type the code and confirm with the phone's passkey (Face ID, Touch ID, fingerprint or PIN). Nothing changes before that. Three wrong codes cancel the request, and at most 6 can be asked in an hour. miblo plus confirm status shows the waiting one and miblo plus confirm cancel withdraws it. Turning things off still applies at once.
  • A new phone types the code, not your computer: when a phone signs in to your Miblo account, your computer shows a 6-digit code (in miblo phone pending, the Miblo app and the notification) and you type it on the new phone. The code never travels: phone and computer run a password-authenticated key exchange over it, so not even the relay or our servers can learn it or answer in the phone's place. Three wrong answers turn the phone away. On Miblo+, if this computer already has a phone with a passkey, you also confirm the new one there. miblo phone approve --code is gone; miblo phone deny <id> still turns a phone away.
  • One passkey per phone: a phone that already has a Miblo passkey reuses it (after asking once) instead of making a new one each time it joins a computer.
  • Approvals can wait up to an hour: a permission prompt now waits for your phone from 15 seconds up to 1 hour (miblo plus timeout <15-3600>, or the choices in the Miblo app), and the card on the phone counts down in minutes and hours.
  • Miblo app 1.5.0: shows the confirmation code on screen while your phone confirms a change, shows the new phone's code to type on it, and says which account this computer is signed in to ("Connected as <email>") with Sign out right there.
  • Security notices by e-mail: every use of a recovery (emergency) code, wrong or locked-out attempts at one (at most one e-mail an hour), every new passkey added to your account and every phone added with a new passkey send a security notice e-mail (a self-hosted relay sends no e-mails), so you know at once if someone else tries.
  • Fixes:
  • The approval card on the phone follows the wait set on the computer instead of stopping at 2 minutes.
  • Long waits no longer cut a permission prompt off after 5 minutes.

Security audit

  • The Miblo+ confirmation screen on the phone now shows exactly what will be switched on: the computer builds that text from the settings it will apply, and the settings are checked again when applied, so another program on the computer cannot show one thing and change another.
  • Computer folder names and phone names are refused when they carry hidden or direction-changing characters.

Miblo 1.22.0

Released

  • Up to four Wi-Fi networks, no more factory resets (firmware 1.22.0): take your Miblo from home to the office and back and it joins whichever saved network is around, the strongest one (the one it used last wins a near tie). If none of them shows up for two minutes it opens its setup network as before, but now nothing is erased: pairings, name, pet and settings all stay, and it keeps looking for its networks in the background. A network you join through the setup network is added to the list. Your current network is kept on the update.
  • Change or add Wi-Fi from the settings page: the new Wi-Fi card (after the on-screen code) lists the saved networks and has Change / add Wi-Fi: search for networks (with signal bars), type the password and press Test and save. Miblo tries the new network while keeping the current one, checks that it reaches the internet, comes back and tells you how it went: saved (with its address on that network), or why not (wrong password, network not found, no internet), with nothing changed. Tick Make it the main network to have Miblo move there right away. Forget removes a saved network; the one in use is forgotten only after Miblo moved to another saved network that works. The password travels encrypted from the page to your Miblo.
  • From the terminal: miblo wifi list, miblo wifi add <name> (the password at a hidden prompt, or piped on stdin, never on the command line; plus the code on your Miblo's screen) and miblo wifi forget <name>. miblo settings --wifi opens the settings page at the Wi-Fi card.
  • Your computer follows your Miblo: after a move to another network the pairing stays, and your computer finds your Miblo again at its new address by itself.
  • A simpler settings page: the top now shows your pet, its name, its address, the firmware version and the Wi-Fi it is on. What people change most is right there (name, pet and look, Wi-Fi, firmware update); everything else sits in sections that open with a tap (screen and schedule, alerts and well-being, about you, looks and community, my pet, paired computers, advanced) and stay the way you left them.
  • Run your own relay server: miblo server set https://… — open source (download and README at miblo.ai/docs/servidor-proprio; code at github.com/marcus-campos/miblo-relay); the phone and account then never touch miblo.ai.
  • Fixes:
  • In the Miblo app's window, Code on the screen on the settings page did nothing: the page asked for the code in a browser dialog the app never shows. The code field, the confirmations (forget a network, remove a computer) and the factory-reset code are now part of the page itself.
  • A Miblo no longer turns "unauthorized" (needing to be paired again) when a Claude Code window not reloaded since the update still runs the previous Miblo next to the new one. The new pairing token is never stored where that older copy would send it in clear, and with firmware 1.22.0 the older copy keeps working for a week after the switch to the new token.
  • Once an older Miblo is seen running in another window, the current one stays in charge instead of handing your Miblo back to it after a quiet half hour.
  • /miblo:status says when the bridge answering belongs to an older Miblo (reload the other Claude Code windows), and says plainly when a Miblo really needs to be paired again; /miblo:pair then shows the code on the gadget's screen.

Miblo 1.21.0

Released

  • Your Miblo account links everything: link the computer once with miblo account link (free accounts too), then sign in to the same account at miblo.ai/app on your phone. No QR codes to scan: the new phone shows on your Miblo and as a notification on the computer, and you tap Allow in the Miblo app and type the 6-digit code the phone shows (or run miblo phone approve <id> --code <code>). Nothing reaches a phone before you allow it at your computer with that code, and the phone only accepts computers it confirmed, so even someone who got into your account (or our servers) cannot read your sessions. Remove any phone with miblo phone revoke or on your account page. Everything stays end-to-end encrypted.
  • Conversations that read well on the phone (Miblo+): the history shows chat bubbles, formatted text and code, and tool cards (the file edited, the command run, what changed). It opens at the newest message, with a reply field right there. Passwords and keys are removed on your computer before anything leaves it.
  • New task from the phone (Miblo+): start a new run of Claude Code, Codex or Copilot on your computer from the phone. Each task is confirmed with your phone's passkey and runs only in the folders you allowed; turn it on in your own terminal with the code your Miblo shows on its screen (miblo plus tasks on). A Stop button ends it at any time.
  • Your token stays on your computer (firmware 1.21.0): with the firmware update, the computer signs every request to your Miblo instead of sending its pairing token, and the snapshot (session names, commands) travels encrypted on your network.
  • Your own pet on your phone: a Miblo running a pet from Miblo Studio now shows that very pet on the phone, live in the mood its screen shows (needs the firmware update to 1.21.0).
  • Miblo keeps itself updated, with or without Claude Code: the Miblo home checks for new signed releases by itself even when Claude Code installed Miblo, and miblo status shows whether Claude Code is really connected.
  • Fixes:
  • An older copy of Miblo installed by Claude Code no longer takes a freshly updated Miblo back to the previous version.
  • miblo setup no longer lists Claude Code as connected when its Miblo plugin is not installed.
  • The phone no longer misses a session's last message when it is written right after the conversation was read.
  • More kinds of passwords and keys are removed before anything leaves the computer (quoted values, cookies, command-line passwords, keys split over several lines), also from the tool shown on your Miblo.
  • Signing out on miblo.ai removes the phone app's connections from that browser, and another account signed in there never sees them.

Miblo 1.20.1

Released

  • Fixes: /miblo:plus shows the code to confirm on the site right away (it used to stay hidden until the wait ended), and miblo plus link --wait 0 prints the code and returns at once.

Miblo 1.20.0

Released

  • A smoother "My pet": pets from Miblo Studio are now drawn with smooth vector shapes, just like the built-in pets, instead of blocky pixels. Make yours by drawing it in the Studio, or describe it to the AI chat (Miblo+). Install it as before: its pet code on the settings page, or miblo pet install.
  • Miblos on this network: the miblo.local page shows each Miblo with its pet, so they are easy to tell apart. Identify makes the chosen Miblo show its name on its screen, and a search box finds one by name.
  • Your Miblo on your phone: the phone companion shows your own Miblo at the top, drawn by the same code as the gadget, in its colours and with its live mood (working, needs you, resting, pet mode). With several Miblos, swipe between them; each shows whether it is online. Only its name and look reach the phone, end-to-end encrypted.
  • Fixes:
  • With a Studio pet installed, the dashboard header no longer flickers.
  • Visits: a Studio pet visits as itself, not as the cat.
  • Visits: two Miblos in pet mode really visit each other again. A lost Wi-Fi packet could leave one showing "Visiting ..." while the other never saw its guest arrive.
  • A Studio pet too heavy to draw (far more shapes than any built-in pet) is refused when it is installed ("cost"), and one that ever made the drawing crash twice in a row is set aside for the cat, so it can never keep a Miblo restarting.
  • At night (with night mode on), Identify on miblo.local no longer lights up the screen.

Miblo 1.19.0

Released

  • Miblo Studio and My pet: draw your own pet at miblo.ai/en/community/studio and install it on your Miblo as pet 21, "My pet". Paste its pet code (PET-…) or its full MPET1 code on the settings page, or choose its file; from a terminal, miblo pet install <code> (or /miblo:pet) does the same. "Remove my pet" takes it off again.
  • Miblo+ phone companion upgrades:
  • History: the last 50 messages of each session on your phone.
  • Replies (beta): answer a session from your phone.
  • Approvals with Face ID: allow or deny what a session asks for, confirmed with your phone's passkey (Face ID, Touch ID or fingerprint).
  • Letting a phone approve or reply is confirmed with a code shown on the Miblo's screen, typed in your own terminal: never by an AI agent, and only for that one request.
  • miblo phone list shows your paired phones and miblo phone revoke <id> removes one at once.
  • Free account vault on miblo.ai, with mandatory two-factor authentication (2FA).
  • Security hardening: Miblo's data folder is private to your user, the answers of Miblo's background service are authenticated, and a pairing QR code works for 10 minutes and one phone only.
  • Fixes:
  • Several sessions that start with the same characters no longer mix up their alerts on the Miblo.
  • A limit at 100% shows "100%" in the compact limits strip (it showed "10…").
  • Right after an update, while the previous background service is still running, miblo status says it is busy instead of stopped.

Miblo 1.18.1

Released

  • A new Bit: pet 19 is now Miblo's own logo with feelings — two little bars that blink, look around, smile (^ ^), get scared (> <), nap (– –) and call you with a "!". On the desk and overview it's the logo's little box.
  • Paste a look: the settings page has "Paste a look": paste a MIBLO1: code copied from the miblo.ai community gallery and your Miblo takes that pet, eyes, accessories and colours (save to keep it). After "Copy my Miblo", a link takes you straight to posting it in the gallery.
  • Security hardening from an external review: the installers check Miblo's signed release before installing through Claude Code too, a refused firmware upload no longer holds the Miblo up, and text coming from the gadget is cleaned before it reaches your terminal.

Miblo 1.18.0

Released

  • No more disconnects when your Claude Code windows run different Miblo versions. A window opened before an update kept restarting Miblo's background service: sessions appeared and disappeared, titles turned back into folder names and the gadget showed "Disconnected". Now the newest version stays in charge and the older window's activity still shows up.
  • Sessions stay on the gadget when Miblo updates, with their titles.
  • Usage limits for the AI you're using: the Limits screen shows the limits of the AI of the session in focus, with a small label (e.g. "LIMITS · Codex"), and the rotation cycles through every AI that reports limits. miblo limits lists them all. Today Claude Code and Codex report limits; the other tools don't make them available yet.
  • Copy my Miblo: the settings page has a "Copy my Miblo" button; paste the code in the miblo.ai community gallery to show your Miblo's exact look, rendered by the real firmware.
  • Miblo's tests no longer leave processes running on your computer.

Miblo 1.17.1

Released

Miblo no longer needs Claude Code. It works with Claude Code, Codex, GitHub Copilot CLI, Gemini CLI, OpenCode and Cursor, on its own or side by side.

  • **New miblo command** in any terminal, with every command the /miblo: slash commands have, plus miblo uninstall. Miblo installed without Claude Code keeps itself up to date from signed releases, and miblo update rollback goes back one version.
  • Easier installers for macOS, Linux and Windows: in Portuguese (Brazil) or English to match your system, Claude Code optional, offer to connect your other AI tools, turn on automatic updates and ask to show your Claude Code usage limits on the Miblo. What they download is checked against Miblo's signed release before anything runs.
  • A new pairing wizard (miblo pair --wizard): a live list of the Miblos on your network that marks the ones already paired, and asks the Miblo you pick to show its code on its screen.
  • Tell your Miblos apart: every code screen and the waiting screen show the gadget's name big, with its unique Miblo-XXXX and IP under it.
  • "Waiting for the computer" no longer shows the pairing code on a paired Miblo; it says how many computers it is paired with.
  • Settings pages fit your phone and follow light or dark mode.
  • **http://miblo.local** always lists your Miblos when there is more than one, instead of jumping to the last one you opened.
  • Security hardening from our audits: stricter update checks, a safer uninstall and rate limits on the new pairing request.

Prefer an app? The Miblo desktop app is at miblo.ai/en/downloads.