[{"data":1,"prerenderedAt":563},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fcli\u002Flifecycle":3,"docs-nav":452},{"id":4,"title":5,"body":6,"description":443,"extension":444,"meta":445,"navigation":446,"order":447,"path":448,"seo":449,"stem":450,"__hash__":451},"docs\u002Fdocs\u002F3.cli\u002F9.lifecycle.md","Install lifecycle and profile settings",{"type":7,"value":8,"toc":435},"minimark",[9,28,35,58,64,133,175,189,195,245,251,290,326,332,355,359,369,419,431],[10,11,12,16,17,16,20,23,24,27],"p",{},[13,14,15],"code",{},"version",", ",[13,18,19],{},"update",[13,21,22],{},"doctor"," and ",[13,25,26],{},"uninstall"," run in the CLI itself. None\nof them starts a daemon.",[29,30,32],"h2",{"id":31},"jawb-version",[13,33,34],{},"jawb version",[10,36,37,38,41,42,45,46,49,50,53,54,57],{},"Prints the CLI version, the build target, the pinned ",[13,39,40],{},"jawbd"," version, the\nAPI level, and whether a daemon is running at the ",[13,43,44],{},"--daemon"," address (and\nits version and API level). ",[13,47,48],{},"jawb --version --json"," is the same command;\nplain ",[13,51,52],{},"jawb --version"," prints ",[13,55,56],{},"jawb X (jawbd Y)",".",[29,59,61],{"id":60},"jawb-update",[13,62,63],{},"jawb update",[65,66,71],"pre",{"className":67,"code":68,"language":69,"meta":70,"style":70},"language-bash shiki shiki-themes github-light github-dark","jawb update --check               # only report\njawb update                       # install the latest\njawb update --version X.Y.Z       # install a specific version\njawb update --force               # reinstall the same version\n","bash","",[13,72,73,94,104,120],{"__ignoreMap":70},[74,75,78,82,86,90],"span",{"class":76,"line":77},"line",1,[74,79,81],{"class":80},"sScJk","jawb",[74,83,85],{"class":84},"sZZnC"," update",[74,87,89],{"class":88},"sj4cs"," --check",[74,91,93],{"class":92},"sJ8bj","               # only report\n",[74,95,97,99,101],{"class":76,"line":96},2,[74,98,81],{"class":80},[74,100,85],{"class":84},[74,102,103],{"class":92},"                       # install the latest\n",[74,105,107,109,111,114,117],{"class":76,"line":106},3,[74,108,81],{"class":80},[74,110,85],{"class":84},[74,112,113],{"class":88}," --version",[74,115,116],{"class":84}," X.Y.Z",[74,118,119],{"class":92},"       # install a specific version\n",[74,121,123,125,127,130],{"class":76,"line":122},4,[74,124,81],{"class":80},[74,126,85],{"class":84},[74,128,129],{"class":88}," --force",[74,131,132],{"class":92},"               # reinstall the same version\n",[10,134,135,137,138,23,140,142,143,146,147,150,151,154,155,157,158,160,161,163,164,166,167,170,171,174],{},[13,136,19],{}," fetches a signed release manifest and checks its signature against\nthe key built into the CLI, then downloads the archive for your platform and\nchecks its SHA-256 against the signed manifest. Only then does it stop a\nrunning daemon, replace ",[13,139,81],{},[13,141,40],{}," in ",[13,144,145],{},"\u003Cinstall_root>\u002Fbin"," (all or\nnothing), and restart the daemon if it was running. Without ",[13,148,149],{},"--version"," it\nnever installs an older or equal version. ",[13,152,153],{},"--check"," works from any ",[13,156,81],{},".\nWithout ",[13,159,153],{},", the running ",[13,162,81],{}," must be the installed one in\n",[13,165,145],{},", or the command fails with a usage error. A fetch or\nverification failure is ",[13,168,169],{},"E_FETCH_FAILED"," (exit 1) with a ",[13,172,173],{},"details.reason",",\nand nothing changes.",[10,176,177,178,180,181,184,185,188],{},"An installed ",[13,179,81],{}," checks for a newer version at most once per 24 hours\nand prints one line on stderr when there is one. Set\n",[13,182,183],{},"JAWB_NO_UPDATE_CHECK=1"," to turn that off; it is also off in ",[13,186,187],{},"--json"," mode.",[29,190,192],{"id":191},"jawb-doctor",[13,193,194],{},"jawb doctor",[10,196,197,198,16,201,204,205,208,209,16,212,16,215,16,218,16,221,224,225,16,228,16,231,16,234,23,237,240,241,244],{},"Runs a list of checks and prints one line per check (",[13,199,200],{},"pass",[13,202,203],{},"warn"," or\n",[13,206,207],{},"fail",") with a fix hint: ",[13,210,211],{},"path",[13,213,214],{},"binaries",[13,216,217],{},"daemon",[13,219,220],{},"port",[13,222,223],{},"data_dir",",\n",[13,226,227],{},"vault",[13,229,230],{},"chrome",[13,232,233],{},"stale_bridge",[13,235,236],{},"disk",[13,238,239],{},"release",". Exit 0 when no\ncheck fails, 1 otherwise (",[13,242,243],{},"E_DOCTOR_FAILED",").",[29,246,248],{"id":247},"jawb-uninstall",[13,249,250],{},"jawb uninstall",[65,252,254],{"className":67,"code":253,"language":69,"meta":70,"style":70},"jawb uninstall            # asks first\njawb uninstall --yes      # no question\njawb uninstall --purge    # also deletes your data directory\n",[13,255,256,266,278],{"__ignoreMap":70},[74,257,258,260,263],{"class":76,"line":77},[74,259,81],{"class":80},[74,261,262],{"class":84}," uninstall",[74,264,265],{"class":92},"            # asks first\n",[74,267,268,270,272,275],{"class":76,"line":96},[74,269,81],{"class":80},[74,271,262],{"class":84},[74,273,274],{"class":88}," --yes",[74,276,277],{"class":92},"      # no question\n",[74,279,280,282,284,287],{"class":76,"line":106},[74,281,81],{"class":80},[74,283,262],{"class":84},[74,285,286],{"class":88}," --purge",[74,288,289],{"class":92},"    # also deletes your data directory\n",[10,291,292,293,16,295,297,298,301,302,305,306,308,309,312,313,316,317,320,321,23,323,325],{},"It stops the daemon, then removes ",[13,294,81],{},[13,296,40],{},", the downloaded daemon\ncopies, the update cache, and the user ",[13,299,300],{},"PATH"," entry the Windows installer\nadded (",[13,303,304],{},"JAWB_NO_MODIFY_PATH=1"," leaves ",[13,307,300],{}," alone). With no terminal and\nno ",[13,310,311],{},"--yes"," it exits 5. ",[13,314,315],{},"--purge"," deletes the data directory, which holds\nyour profiles, and only after you type the word ",[13,318,319],{},"purge"," on an interactive\nterminal: ",[13,322,311],{},[13,324,187],{}," do not skip that.",[29,327,329],{"id":328},"jawb-daemon",[13,330,331],{},"jawb daemon",[10,333,334,16,337,16,340,23,343,346,347,349,350,57],{},[13,335,336],{},"daemon start",[13,338,339],{},"daemon stop",[13,341,342],{},"daemon status",[13,344,345],{},"daemon install [--force]","\ncontrol ",[13,348,40],{}," explicitly; see ",[351,352,354],"a",{"href":353},"\u002Fdocs\u002Fgetting-started\u002Finstallation","installation",[29,356,358],{"id":357},"letting-a-public-page-reach-your-local-network","Letting a public page reach your local network",[10,360,361,362,364,365,368],{},"By default a public page cannot make ",[13,363,40],{}," fetch a local or private\naddress (a redirect, a subresource, a form post). Addresses you name\nyourself, such as ",[13,366,367],{},"jawb open http:\u002F\u002Flocalhost:3000",", are always allowed.",[370,371,372,397,408],"ul",{},[373,374,375,376,379,380,16,383,386,387,16,390,224,393,396],"li",{},"Per command: ",[13,377,378],{},"--allow-private"," on ",[13,381,382],{},"open",[13,384,385],{},"back","\u002F",[13,388,389],{},"forward",[13,391,392],{},"reload",[13,394,395],{},"observe"," and the Act commands. Any other command refuses the flag with\na usage error.",[373,398,399,400,403,404,407],{},"Per profile: ",[13,401,402],{},"jawb profile settings [\u003Cname>]"," shows the setting, and\n",[13,405,406],{},"jawb profile settings [\u003Cname>] --allow-private on|off"," changes it\nimmediately for that profile's live session.",[373,409,410,411,414,415,57],{},"Default for profiles with no setting of their own, and for incognito\nsessions: ",[13,412,413],{},"egress.allow_private_default"," in\n",[351,416,418],{"href":417},"\u002Fdocs\u002Fconfig","Configuration",[10,420,421,422,424,425,427,428,57],{},"Link-local and cloud-metadata addresses, and ",[13,423,40],{},"'s own control port,\nare refused whatever you set. WebSocket handshakes are not checked. Both\nflag and profile setting need a ",[13,426,40],{}," at API level 6 or later; the CLI\nrefuses an older one with ",[13,429,430],{},"E_VERSION_MISMATCH",[432,433,434],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":70,"searchDepth":96,"depth":96,"links":436},[437,438,439,440,441,442],{"id":31,"depth":96,"text":34},{"id":60,"depth":96,"text":63},{"id":191,"depth":96,"text":194},{"id":247,"depth":96,"text":250},{"id":328,"depth":96,"text":331},{"id":357,"depth":96,"text":358},"version, update, doctor, uninstall, daemon, and local-network access per profile.","md",{},true,null,"\u002Fdocs\u002Fcli\u002Flifecycle",{"title":5,"description":443},"docs\u002F3.cli\u002F9.lifecycle","CqBzF9ocHqJ-mUX-E0HygHtyGt--qi42kXlA0JxroME",[453],{"title":454,"path":455,"stem":456,"children":457},"Documentation","\u002Fdocs","docs\u002F1.index",[458,459,463,467,471,492,531,545,547,551,555,559],{"title":454,"path":455,"stem":456},{"title":460,"path":461,"stem":462},"Protocol adapters","\u002Fdocs\u002Fprotocol","docs\u002F10.protocol",{"title":464,"path":465,"stem":466},"Extensions","\u002Fdocs\u002Fextensions","docs\u002F11.extensions",{"title":468,"path":469,"stem":470},"Roadmap and status","\u002Fdocs\u002Froadmap","docs\u002F12.roadmap",{"title":472,"path":473,"stem":474,"children":475},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002F1.index",[476,477,480,484,488],{"title":472,"path":473,"stem":474},{"title":478,"path":353,"stem":479},"Installation","docs\u002F2.getting-started\u002F2.installation",{"title":481,"path":482,"stem":483},"Desktop app","\u002Fdocs\u002Fgetting-started\u002Fdesktop-app","docs\u002F2.getting-started\u002F3.desktop-app",{"title":485,"path":486,"stem":487},"Running the daemon","\u002Fdocs\u002Fgetting-started\u002Frunning-the-daemon","docs\u002F2.getting-started\u002F4.running-the-daemon",{"title":489,"path":490,"stem":491},"Using the CLI","\u002Fdocs\u002Fgetting-started\u002Fusing-the-cli","docs\u002F2.getting-started\u002F5.using-the-cli",{"title":493,"path":494,"stem":495,"children":496},"CLI reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002F1.index",[497,498,502,506,510,514,518,522,526,530],{"title":493,"path":494,"stem":495},{"title":499,"path":500,"stem":501},"JSON envelope and exit codes","\u002Fdocs\u002Fcli\u002Fjson-and-exit-codes","docs\u002F3.cli\u002F10.json-and-exit-codes",{"title":503,"path":504,"stem":505},"jawb status","\u002Fdocs\u002Fcli\u002Fstatus","docs\u002F3.cli\u002F2.status",{"title":507,"path":508,"stem":509},"Tabs, profiles and sessions","\u002Fdocs\u002Fcli\u002Ftabs-and-profiles","docs\u002F3.cli\u002F3.tabs-and-profiles",{"title":511,"path":512,"stem":513},"jawb observe [\u003Curl>] [--full] [--interactive-only] [--js]","\u002Fdocs\u002Fcli\u002Fobserve","docs\u002F3.cli\u002F4.observe",{"title":515,"path":516,"stem":517},"jawb read [--format md|text|json] [--element \u003Cid>] [--full] [--js]","\u002Fdocs\u002Fcli\u002Fread","docs\u002F3.cli\u002F5.read",{"title":519,"path":520,"stem":521},"Act commands","\u002Fdocs\u002Fcli\u002Fact","docs\u002F3.cli\u002F6.act",{"title":523,"path":524,"stem":525},"See commands","\u002Fdocs\u002Fcli\u002Fsee","docs\u002F3.cli\u002F7.see",{"title":527,"path":528,"stem":529},"Policy and confirmation","\u002Fdocs\u002Fcli\u002Fpolicy","docs\u002F3.cli\u002F8.policy",{"title":5,"path":448,"stem":450},{"title":532,"path":533,"stem":534,"children":535},"SDK reference","\u002Fdocs\u002Fsdk","docs\u002F4.sdk\u002F1.index",[536,537,541],{"title":532,"path":533,"stem":534},{"title":538,"path":539,"stem":540},"Rust SDK — jawb-sdk-rust","\u002Fdocs\u002Fsdk\u002Frust-sdk","docs\u002F4.sdk\u002F2.rust-sdk",{"title":542,"path":543,"stem":544},"Website SDK — @4hum-ai\u002Fjawb-sdk","\u002Fdocs\u002Fsdk\u002Fwebsite-sdk","docs\u002F4.sdk\u002F3.website-sdk",{"title":418,"path":417,"stem":546},"docs\u002F5.config",{"title":548,"path":549,"stem":550},"WebMCP","\u002Fdocs\u002Fwebmcp","docs\u002F6.webmcp",{"title":552,"path":553,"stem":554},"Agents","\u002Fdocs\u002Fagents","docs\u002F7.agents",{"title":556,"path":557,"stem":558},"MCP server","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",{"title":560,"path":561,"stem":562},"Security and trust","\u002Fdocs\u002Fsecurity","docs\u002F9.security",1792595702583]