Launched this week

Yardlet
The Mac app for the coding agents you already use
55 followers
The Mac app for the coding agents you already use
55 followers
Yardlet is a free, open-source Mac app for the coding agents you already use. It starts Codex, Claude Code, OpenCode and others with their own CLI and sign-in, and gives them one sidebar, composer and set of approval cards. Sessions stay in each agent's own store, so a task started in Yardlet also opens in the Codex app. It writes nothing into the agents' configuration, so you can stop using it any time. Diffs, a pull request tab, connectors and a browser the agents drive come with it.





Hi Product Hunt, I'm Jeongki, and I made Yardlet.
I think most of us will end up with our own agent workbench. This one is mine: I built it around how I work, and I'm sharing it for anyone who doesn't have one yet.
A few months ago I ran Codex and Claude Code as CLIs in cmux. Then their desktop apps got good, and I ended up switching between two apps and several accounts without using either one well.
So Yardlet holds two rules strictly: it should feel like the agents' own apps, and it must not change the agents. It starts the CLI you already use, with the sign-in you already have, and sessions stay in each agent's own store. Stop using Yardlet and nothing in your agents changes.
On top of that: agents work together, so one task can read or message another, or hand work to a different agent. When an agent passes on your approval, your own words go with it. Every account's limits stay in view, and agents start new work on the account with the most room left. Connectors you set up once serve every agent, and a built-in browser lets agents fill your saved sign-ins without seeing the password. Diffs and pull requests sit next to the conversation.
It's free, MIT licensed and written in Swift, for Apple silicon Macs on macOS 15 or later. It's young and has rough edges, so issues and pull requests are very welcome.
What would help me most: anywhere Yardlet feels worse than the agent's own app, and what still bothers you when you run several agents.
Our agents never type a password, I do the sign-ins myself. Does the built-in browser have a list of sites it can't open at all? There are a couple where I don't want an agent loading the page, signed in or not
@julien_zammit Same here, and Yardlet holds the agent to that. When a page needs a sign-in, the agent can hand you the tab and wait, or Yardlet fills it from its own vault after checking the site (with Touch ID every time if you want).
The agent can't read the password either way. Password fields always read as redacted. On a page where a password went in, typed by you or filled by the vault, the agent's scripts and screenshots are refused until the tab loads another page. And if the agent ran its own scripts on a page before the sign-in, the vault won't fill it without asking you first.
A list of sites agents can't open isn't there yet. Today the only switch turns the agents' browser off entirely (Settings › General). It fits Yardlet well, so I've added it to the roadmap: https://github.com/zzunkie/yardl...
The rule about sessions staying in each agent's own store is what makes this feel safe to try. When one task hands work to a different agent, what travels with it — just the task and your note, or does the second agent also get the first agent's context? And when an agent passes on an approval, do your words go to that agent alone, or stay attached if the work moves again?
@jcbuilds Thanks, good questions.
1. Just the task and the note. As with a Claude Code subagent, the receiving agent starts with only what the sending agent writes, not its context. What Yardlet adds: when it needs more, the receiver can read the sending task's conversation itself (its messages and a one-line summary of each tool call), and this works between different agents, for example Claude Code handing work to Codex.
2. Your words go to that agent only. Yardlet checks each quote word for word against what you typed in the sending task, so they don't travel on if the work moves again: an agent can only pass on words you typed in its own task.
Keeping sessions in the agents' own stores is a thoughtful choice. It makes trying the workbench a smaller commitment when an existing task can still open in the original app.
Thanks! That's the rule Yardlet is built on: your agents and the setup you already have shouldn't be affected. Sessions stay in each agent's own store, Yardlet writes nothing into their configuration, and if you stop using it, everything is exactly as you left it.