Pages as clean text
Normal pages come back as readable text in well under a second. Pages that need JavaScript render in a background tab first, and cookie walls get Reject all.
TernFree for Mac
Claude Code and Codex use it to read the web. Pages come back as clean text, it uses your own logins, and it remembers the API calls a site makes so the next read skips the page.

Same 5 research tasks, same model
Claude (Sonnet) got the same prompts with one browser available per run, two runs each. Every answer was checked against the real pages.
Total time for all 5 tasks
How it reads the web
Normal pages come back as readable text in well under a second. Pages that need JavaScript render in a background tab first, and cookie walls get Reject all.
When a site loads its data from an API, Tern can call that request again without opening the page. On Hacker News search that's 100 results in about a second.
Agents work in background tabs grouped under Agent. Your window stays yours, and idle agent tabs close themselves after 10 minutes.
Set up
Move Tern to Applications and open it. Keys for search and a model are optional, Tern works without them. Then add it to your agent:
claude mcp add -s user -e ELECTRON_RUN_AS_NODE=1 tern -- /Applications/Tern.app/Contents/MacOS/Tern /Applications/Tern.app/Contents/Resources/app.asar/scripts/mcp.mjsRun it in Terminal.
[mcp_servers.tern]
command = "/Applications/Tern.app/Contents/MacOS/Tern"
args = ["/Applications/Tern.app/Contents/Resources/app.asar/scripts/mcp.mjs"]
[mcp_servers.tern.env]
ELECTRON_RUN_AS_NODE = "1"Add it to ~/.codex/config.toml.
{
"mcpServers": {
"tern": {
"command": "/Applications/Tern.app/Contents/MacOS/Tern",
"args": [
"/Applications/Tern.app/Contents/Resources/app.asar/scripts/mcp.mjs"
],
"env": {
"ELECTRON_RUN_AS_NODE": "1"
}
}
}
}Add it to the MCP settings of Cursor, Claude Desktop or any other MCP client.
Apple Silicon Macs. It checks this page for new versions and tells you when one is out. Agents can't browse Reddit in Tern. It's new, so tell me what breaks at [email protected].
Download for MacReleases on GitHub