[{"data":1,"prerenderedAt":683},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcli":3,"docs-nav":580},{"id":4,"title":5,"body":6,"description":571,"extension":572,"meta":573,"navigation":574,"order":575,"path":576,"seo":577,"stem":578,"__hash__":579},"docs\u002Fdocs\u002F3.cli\u002F1.index.md","CLI reference",{"type":7,"value":8,"toc":566},"minimark",[9,32,42,45,244,258,263,504,508],[10,11,12,13,17,18,21,22,25,26,31],"p",{},"Source: ",[14,15,16],"code",{},"jawb-cli",". Every command talks to ",[14,19,20],{},"jawbd"," (from ",[14,23,24],{},"jawb-core","), and\nthe first one starts it if it isn't running — see\n",[27,28,30],"a",{"href":29},"\u002Fdocs\u002Fgetting-started\u002Frunning-the-daemon","running the daemon",".",[33,34,39],"pre",{"className":35,"code":37,"language":38},[36],"language-text","jawb [GLOBAL FLAGS] \u003Ccommand> [\u003Csubcommand>] [ARGS] [FLAGS]\n","text",[14,40,37],{"__ignoreMap":41},"",[10,43,44],{},"Commands group into three jobs, plus daemon\u002Fsession bookkeeping:",[46,47,48,76,125,143,196,216],"ul",{},[49,50,51,55,56,62,63,69,70,69,73,31],"li",{},[52,53,54],"strong",{},"Read"," — understand the page: ",[27,57,59],{"href":58},"\u002Fdocs\u002Fcli\u002Fobserve",[14,60,61],{},"observe",",\n",[27,64,66],{"href":65},"\u002Fdocs\u002Fcli\u002Fread",[14,67,68],{},"read",", ",[14,71,72],{},"tools",[14,74,75],{},"wait",[49,77,78,81,82,31],{},[52,79,80],{},"Act"," — change the page (runs on the compatibility bridge):\n",[27,83,85,69,88,69,91,69,94,69,97,100,101,69,104,69,107,62,110,69,113,69,116,69,119,69,122],{"href":84},"\u002Fdocs\u002Fcli\u002Fact",[14,86,87],{},"click",[14,89,90],{},"fill",[14,92,93],{},"type",[14,95,96],{},"select",[14,98,99],{},"check","\u002F",[14,102,103],{},"uncheck",[14,105,106],{},"press",[14,108,109],{},"hover",[14,111,112],{},"scroll",[14,114,115],{},"upload",[14,117,118],{},"download",[14,120,121],{},"submit",[14,123,124],{},"media",[49,126,127,130,131,31],{},[52,128,129],{},"See"," — how the page renders (also bridge-only):\n",[27,132,134,69,137,69,140],{"href":133},"\u002Fdocs\u002Fcli\u002Fsee",[14,135,136],{},"viewport",[14,138,139],{},"emulate",[14,141,142],{},"screenshot",[49,144,145,148,149,69,155,69,158,62,161,100,164,100,167,69,170,69,173,69,176,69,179,62,182,69,185,69,188,191,192,31],{},[52,146,147],{},"Daemon and sessions",": ",[27,150,152],{"href":151},"\u002Fdocs\u002Fcli\u002Fstatus",[14,153,154],{},"status",[14,156,157],{},"profile *",[14,159,160],{},"open",[14,162,163],{},"back",[14,165,166],{},"forward",[14,168,169],{},"reload",[14,171,172],{},"tabs",[14,174,175],{},"tab use",[14,177,178],{},"close",[14,180,181],{},"cookies",[14,183,184],{},"storage export|import",[14,186,187],{},"secret",[14,189,190],{},"trace"," — see\n",[27,193,195],{"href":194},"\u002Fdocs\u002Fcli\u002Ftabs-and-profiles","tabs, profiles and sessions",[49,197,198,148,201,191,204,208,209,191,212,31],{},[52,199,200],{},"Policy and settings",[14,202,203],{},"confirm",[27,205,207],{"href":206},"\u002Fdocs\u002Fcli\u002Fpolicy","policy and confirmation","; ",[14,210,211],{},"config",[27,213,215],{"href":214},"\u002Fdocs\u002Fconfig","configuration",[49,217,218,148,221,69,224,69,227,69,230,62,233,236,237,191,240,31],{},[52,219,220],{},"Install and daemon",[14,222,223],{},"version",[14,225,226],{},"update",[14,228,229],{},"doctor",[14,231,232],{},"uninstall",[14,234,235],{},"daemon start|stop|status|install",", and ",[14,238,239],{},"profile settings",[27,241,243],{"href":242},"\u002Fdocs\u002Fcli\u002Flifecycle","install lifecycle and profile settings",[10,245,246,247,250,251,255,256,31],{},"Every command accepts ",[14,248,249],{},"--json",", which prints exactly one JSON object on\nstdout — see ",[27,252,254],{"href":253},"\u002Fdocs\u002Fcli\u002Fjson-and-exit-codes","the JSON envelope and exit codes",".\nAnything that can require a human decision (uploads, downloads, form\nsubmits, and especially purchases) goes through\n",[27,257,207],{"href":206},[259,260,262],"h2",{"id":261},"global-flags","Global flags",[264,265,266,282],"table",{},[267,268,269],"thead",{},[270,271,272,276,279],"tr",{},[273,274,275],"th",{},"Flag",[273,277,278],{},"Default",[273,280,281],{},"Meaning",[283,284,285,298,311,331,345,374,392,418,434,461,473,488],"tbody",{},[270,286,287,292,295],{},[288,289,290],"td",{},[14,291,249],{},[288,293,294],{},"off",[288,296,297],{},"Print exactly one JSON envelope on stdout. Nothing else goes to stdout.",[270,299,300,305,308],{},[288,301,302],{},[14,303,304],{},"--tab \u003Cid>",[288,306,307],{},"current tab",[288,309,310],{},"Run against this tab instead of the session's current tab.",[270,312,313,318,328],{},[288,314,315],{},[14,316,317],{},"--profile \u003Cname>",[288,319,320,321,324,325],{},"active profile (",[14,322,323],{},"profile use",") or ",[14,326,327],{},"default",[288,329,330],{},"Profile the command's session uses.",[270,332,333,338,340],{},[288,334,335],{},[14,336,337],{},"--incognito",[288,339,294],{},[288,341,342,343,31],{},"Use an ephemeral session. Valid only on ",[14,344,160],{},[270,346,347,352,361],{},[288,348,349],{},[14,350,351],{},"--daemon \u003Curl>",[288,353,354,357,358],{},[14,355,356],{},"$JAWB_DAEMON"," or ",[14,359,360],{},"http:\u002F\u002F127.0.0.1:4180",[288,362,363,364,69,367,69,370,373],{},"Daemon address. Must be loopback (",[14,365,366],{},"127.0.0.1",[14,368,369],{},"::1",[14,371,372],{},"localhost","); anything else is a usage error (exit 2). A non-default address never auto-starts a daemon.",[270,375,376,381,383],{},[288,377,378],{},[14,379,380],{},"--no-autostart",[288,382,294],{},[288,384,385,386,388,389,31],{},"Never start ",[14,387,20],{}," automatically. Also ",[14,390,391],{},"JAWB_NO_AUTOSTART=1",[270,393,394,399,404],{},[288,395,396],{},[14,397,398],{},"--timeout \u003Cdur>",[288,400,401],{},[14,402,403],{},"30s",[288,405,406,407,410,411,413,414,417],{},"Deadline for each request to jawbd, not for the whole command: a command that makes two requests (for example ",[14,408,409],{},"observe \u003Curl>",", which opens then observes) can take up to twice as long. ",[14,412,75],{}," waits at most this long for its condition, and ",[14,415,416],{},"--await-confirm"," polls at most this long.",[270,419,420,425,427],{},[288,421,422],{},[14,423,424],{},"--native-only",[288,426,294],{},[288,428,429,430,433],{},"Fail with ",[14,431,432],{},"E_BRIDGE_DISABLED"," rather than route to the bridge for this command.",[270,435,436,441,443],{},[288,437,438],{},[14,439,440],{},"--allow-private",[288,442,294],{},[288,444,445,446,69,448,100,450,69,452,69,454,456,457,31],{},"Let this command's page reach local and private-network addresses from a public page. Valid on ",[14,447,160],{},[14,449,163],{},[14,451,166],{},[14,453,169],{},[14,455,61],{}," and the Act commands — see ",[27,458,460],{"href":459},"\u002Fdocs\u002Fcli\u002Flifecycle#letting-a-public-page-reach-your-local-network","lifecycle",[270,462,463,468,470],{},[288,464,465],{},[14,466,467],{},"--yes",[288,469,294],{},[288,471,472],{},"Pre-confirm policy prompts this command would raise. Never satisfies a purchase-like confirmation.",[270,474,475,483,485],{},[288,476,477,69,480],{},[14,478,479],{},"-q",[14,481,482],{},"--quiet",[288,484,294],{},[288,486,487],{},"Human mode only: print only the essential result.",[270,489,490,495,498],{},[288,491,492],{},[14,493,494],{},"--no-color",[288,496,497],{},"auto",[288,499,500,501,31],{},"Also turned on by ",[14,502,503],{},"NO_COLOR",[259,505,507],{"id":506},"whats-implemented-today","What's implemented today",[10,509,510,511,69,513,69,515,100,517,100,519,100,521,62,523,100,525,100,527,69,529,69,531,69,533,69,535,69,537,62,539,69,542,544,545,548,549,551,552,555,556,69,559,236,562,565],{},"Every command above is registered and working: Read and the daemon and\nsession commands (",[14,512,154],{},[14,514,157],{},[14,516,160],{},[14,518,163],{},[14,520,166],{},[14,522,169],{},[14,524,172],{},[14,526,175],{},[14,528,178],{},[14,530,61],{},[14,532,68],{},[14,534,72],{},[14,536,75],{},[14,538,181],{},[14,540,541],{},"storage",[14,543,190],{},") on jawb's native engine, and Act, See, ",[14,546,547],{},"--js",", bridge\n",[14,550,75],{}," and the confirmation flow on the compatibility bridge. Targeting\nelements by observation element ID (",[14,553,554],{},"jawb click 48",") is the primary form;\n",[14,557,558],{},"--text",[14,560,561],{},"--role",[14,563,564],{},"--css"," are fallback selectors.",{"title":41,"searchDepth":567,"depth":567,"links":568},2,[569,570],{"id":261,"depth":567,"text":262},{"id":506,"depth":567,"text":507},"Commands for jawb, the jawb CLI.","md",{},true,null,"\u002Fdocs\u002Fcli",{"title":5,"description":571},"docs\u002F3.cli\u002F1.index","_LkkuPMUjqab6ZsevBrNXbjvOYC4ISK4S4Vc_SPLrco",[581],{"title":582,"path":583,"stem":584,"children":585},"Documentation","\u002Fdocs","docs\u002F1.index",[586,587,591,595,599,620,650,664,667,671,675,679],{"title":582,"path":583,"stem":584},{"title":588,"path":589,"stem":590},"Protocol adapters","\u002Fdocs\u002Fprotocol","docs\u002F10.protocol",{"title":592,"path":593,"stem":594},"Extensions","\u002Fdocs\u002Fextensions","docs\u002F11.extensions",{"title":596,"path":597,"stem":598},"Roadmap and status","\u002Fdocs\u002Froadmap","docs\u002F12.roadmap",{"title":600,"path":601,"stem":602,"children":603},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002F1.index",[604,605,609,613,616],{"title":600,"path":601,"stem":602},{"title":606,"path":607,"stem":608},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F2.getting-started\u002F2.installation",{"title":610,"path":611,"stem":612},"Desktop app","\u002Fdocs\u002Fgetting-started\u002Fdesktop-app","docs\u002F2.getting-started\u002F3.desktop-app",{"title":614,"path":29,"stem":615},"Running the daemon","docs\u002F2.getting-started\u002F4.running-the-daemon",{"title":617,"path":618,"stem":619},"Using the CLI","\u002Fdocs\u002Fgetting-started\u002Fusing-the-cli","docs\u002F2.getting-started\u002F5.using-the-cli",{"title":5,"path":576,"stem":578,"children":621},[622,623,626,629,632,635,638,641,644,647],{"title":5,"path":576,"stem":578},{"title":624,"path":253,"stem":625},"JSON envelope and exit codes","docs\u002F3.cli\u002F10.json-and-exit-codes",{"title":627,"path":151,"stem":628},"jawb status","docs\u002F3.cli\u002F2.status",{"title":630,"path":194,"stem":631},"Tabs, profiles and sessions","docs\u002F3.cli\u002F3.tabs-and-profiles",{"title":633,"path":58,"stem":634},"jawb observe [\u003Curl>] [--full] [--interactive-only] [--js]","docs\u002F3.cli\u002F4.observe",{"title":636,"path":65,"stem":637},"jawb read [--format md|text|json] [--element \u003Cid>] [--full] [--js]","docs\u002F3.cli\u002F5.read",{"title":639,"path":84,"stem":640},"Act commands","docs\u002F3.cli\u002F6.act",{"title":642,"path":133,"stem":643},"See commands","docs\u002F3.cli\u002F7.see",{"title":645,"path":206,"stem":646},"Policy and confirmation","docs\u002F3.cli\u002F8.policy",{"title":648,"path":242,"stem":649},"Install lifecycle and profile settings","docs\u002F3.cli\u002F9.lifecycle",{"title":651,"path":652,"stem":653,"children":654},"SDK reference","\u002Fdocs\u002Fsdk","docs\u002F4.sdk\u002F1.index",[655,656,660],{"title":651,"path":652,"stem":653},{"title":657,"path":658,"stem":659},"Rust SDK — jawb-sdk-rust","\u002Fdocs\u002Fsdk\u002Frust-sdk","docs\u002F4.sdk\u002F2.rust-sdk",{"title":661,"path":662,"stem":663},"Website SDK — @4hum-ai\u002Fjawb-sdk","\u002Fdocs\u002Fsdk\u002Fwebsite-sdk","docs\u002F4.sdk\u002F3.website-sdk",{"title":665,"path":214,"stem":666},"Configuration","docs\u002F5.config",{"title":668,"path":669,"stem":670},"WebMCP","\u002Fdocs\u002Fwebmcp","docs\u002F6.webmcp",{"title":672,"path":673,"stem":674},"Agents","\u002Fdocs\u002Fagents","docs\u002F7.agents",{"title":676,"path":677,"stem":678},"MCP server","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",{"title":680,"path":681,"stem":682},"Security and trust","\u002Fdocs\u002Fsecurity","docs\u002F9.security",1792595702008]