Docs

Docs

Using Pistachio

Pistachio is a Mac browser with an agent that works inside the tabs you are already signed in to. This page covers what ships in the preview today. Anything deeper lives in the repository docs.

Getting started

Pistachio runs on Apple silicon Macs. Get the disk image from the download page, drag Pistachio into Applications, and open it. The build is signed and notarized.

The first run is a short guided setup: introduce yourself in a sentence or two (typed or spoken) so the agent has a starting memory, optionally import sessions and bookmarks from another browser, pick a few favorites, and choose an appearance. You can replay it later from Settings → About.

The agent needs a model. Add your own API key in Settings, or run without one and use Pistachio as a plain browser.

The agent

Open the chat with ⌘I and ask for work in plain language. The agent can read, navigate, click, type, and scroll inside your existing tabs, so it uses the sessions you are already signed in to rather than logging in again. Every tool call shows up inline in the conversation as it happens.

  • It asks before anything consequential, and a paused approval waits for you.
  • You can interrupt, steer with a follow-up, or take the tab over at any time and hand it back.
  • Each run leaves a signed activity record you can replay from the conversation.

With an account, a Profile you have explicitly enabled for cloud runs can also run when your Mac is asleep, in a hosted browser that shares your private egress address. Nothing runs in the cloud for a Profile you have not turned that on for.

Tabs and Profiles

Tabs live in a sidebar (or a top strip, from Settings → General). The sidebar has a favorites grid, pinned pages in collapsible folders, then today's tabs, all drag-and-drop. A Profile is a separate set of tabs and sessions; forking one lets you carry chosen tabs and logins into it.

  • Split the window into up to four panes with ⌘\, and drag a tab onto a page to split.
  • Hold Option and click a link to glance at it in a preview without leaving the page.
  • Playing audio and video follows you into a small card when you switch tabs.
  • Reader view strips a page down to the article; the command bar (⌘L) opens tabs, pins, Profiles, and settings.

Memory and reminders

Say “remember I prefer window seats” or “forget my old address” and the agent updates one local file, memory.json, kept on your Mac. Facts are versioned when they change rather than overwritten, can expire on a date, and can be reviewed, edited, restored, or erased in Settings → Memory. The quick fields there (name, time zone, locations, projects) are entries in the same file, not a second store.

Reminders work the same way: “remind me in 20 minutes” or “every Sunday at 8am send me a summary of my week” become entries in a local reminders.json. A reminder fires either a fixed message or an agent task, shows up as a card in the chat and a desktop notification, and ⌘⇧R opens a calendar of what fired and what is next. Reminders fire while Pistachio is running on your Mac.

Privacy and permissions

Pistachio is local by default. Browsing data, memory, reminders, appearance, and shortcuts stay on your Mac unless you sign in and turn on sync or the cloud browser. The privacy policy describes what an account stores.

  • Per-site permissions. Camera, microphone, location, notifications, clipboard, screen capture, MIDI, and idle detection are decided in the app, not by the page. Site controls in the address bar show the current decision, where it came from, and let you change or reset it.
  • Site data. Settings → Privacy & security can sign you out of every site and clear cookies, storage, and cache for the active Profile, and clear recent history.
  • Agent access. The agent works in your live tabs with your signed-in sessions. It does not see saved passwords; a value the vault types for it is filled directly into the page and the model learns only that the field was filled.
  • Passkeys and Touch ID. Sign-in with passkeys uses the operating system's authenticator. The site never receives a fingerprint or face scan, and agent tabs cannot use passkeys at all.
  • Bring your own model. Prompts go to the model provider you configured with your own key. Memory facts that bear on a task are included in the prompt for that task.

Keyboard shortcuts

Every shortcut can be rebound in Settings → Shortcuts, and they keep working while your cursor is inside a web page. A few of the defaults:

⌘T
New tab · ⌘W closes, ⌘⇧T brings it back
⌘L
Command bar · Tabs, pins, Profiles, settings
⌘\
Split view · Up to four panes
⌘D
Pin this page · Stays above today's tabs
⌘S
Pin the sidebar · Or let it slide in on hover
⌘⇧F
Fork this Profile · Carry chosen tabs and logins
⌘⇧R
Reminders · Calendar of what fired and what is next
⌘F
Find in page · With match counts
⌘,
Settings · Rebind any of the 20 shortcuts here

Import from another browser

During first run (which you can replay from Settings → About), Pistachio can import one profile at a time from Chrome, Arc, Brave, Edge, Chromium, Vivaldi, Opera, Firefox, Safari.

  • Sessions (cookies) go into the active Profile, so you arrive already signed in. Chromium-based browsers keep their cookie key in the login keychain, which is why macOS asks you to allow Pistachio to read it. Safari's cookies belong to the OS and are not imported.
  • Bookmarks become pins in the sidebar, in folders named for the browser and each bookmark folder.

Each database is copied to a temporary folder and opened read-only; the other browser's own files are never opened, and nothing leaves your Mac.

Managed policy

An organization can pin permission and data-movement decisions for its people. Place enterprise-policy.json in the app's user-data directory, or point PISTACHIO_ENTERPRISE_POLICY at one. Rules match an origin, hostname, or wildcard subdomain and can allow or block permissions (camera, notifications, and so on) and actions (download, upload, copy, paste, print). Managed decisions always win over a person's own site decisions, and Site controls show when a decision is managed. The full schema is in the enterprise browser controls document.

Help and source

Pistachio is open source under the GNU General Public License v3.0. The code, design documents, and release notes are on GitHub; file bugs and requests as issues there. The preview is early: if something here does not match what you see in the app, the app is right and this page is behind.