The Agentic Hacker's Terminal

TermSurf runs real browser engines in your shell so you can test your webapp without leaving your terminal.

GhosttyChromiumWebKitLadybird

TerminalBrowserShell

Install Astrohacker TermSurf

Homebrew cask · Apple silicon macOS

Select

brewtapastrohackerlabs/astrohacker

brewtrustastrohackerlabs/astrohacker

brewinstall--caskastrohacker

Then open Astrohacker TermSurf.app from Applications.

Try this next

From a TermSurf pane · webview overlays that shell

# default engine (Chromium)

$ahwebexample.com

# WebKit in another pane

$ahwebexample.com--browser webkit

# separate Chromium profile

$ahwebexample.com--profile work

# engine + profile together

$ahwebexample.com--browser webkit--profile work

Read the docs

Illustration of Astrohacker TermSurf

Shell next to real browser webviews—each ahweb overlays one shell pane (the prompt is still underneath).

Astrohacker TermSurf

shell

# default engine (Chromium)

$ahwebexample.com

# WebKit in another pane

$ahwebexample.com--browser webkit

# separate Chromium profile

$ahwebexample.com--profile work

# engine + profile together

$ahwebexample.com--browser webkit--profile work

# one ahweb per pane — webview overlays that shell;
# exit the webview to see the prompt again

Chromium: Profile A

URL

http://localhost:3000

⌘r reloadCONTROL

App preview

Chromium: Profile B

URL

http://localhost:5173

esc controlBROWSE

WebKit

URL

https://example.test

i edit urlCONTROL

independent engine

How panes work: Run ahweb in a shell pane. A real browser webview is overlaid on that pane—the shell is still there underneath until you exit the webview. Multi-engine means multi-pane launches, not one command for the whole window.

Read the docs