[{"data":1,"prerenderedAt":543},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fgetting-started\u002Frunning-the-daemon":3,"docs-nav":430},{"id":4,"title":5,"body":6,"description":421,"extension":422,"meta":423,"navigation":424,"order":425,"path":426,"seo":427,"stem":428,"__hash__":429},"docs\u002Fdocs\u002F2.getting-started\u002F4.running-the-daemon.md","Running the daemon",{"type":7,"value":8,"toc":418},"minimark",[9,25,42,45,109,123,128,141,149,201,213,216,405,414],[10,11,12,16,17,20,21,24],"p",{},[13,14,15],"code",{},"jawbd"," (from ",[13,18,19],{},"jawb-core",") is the local daemon — it holds all state\n(sessions, tabs, profiles, cookies, observation revisions). ",[13,22,23],{},"jawb"," (the\nCLI) is a thin client for it.",[10,26,27,28,30,31,34,35,37,38,41],{},"You don't have to start it by hand. The first ",[13,29,23],{}," command that finds\nno daemon on ",[13,32,33],{},"127.0.0.1:4180"," starts ",[13,36,15],{}," in the background, and it\nkeeps running after that command exits. Its log goes to\n",[13,39,40],{},"\u003Cdata_dir>\u002Flogs\u002Fjawbd.log",". It listens on loopback only — there is no\nremote-daemon mode. On first start it writes a bearer token to its data\ndirectory; the CLI reads that automatically.",[10,43,44],{},"To manage it yourself:",[46,47,52],"pre",{"className":48,"code":49,"language":50,"meta":51,"style":51},"language-bash shiki shiki-themes github-light github-dark","jawb daemon start     # start jawbd in the background if it isn't running\njawb daemon status\njawb daemon stop      # stop it and wait until it has exited\njawb daemon install   # fetch the jawbd version this jawb is pinned to\n","bash","",[13,53,54,73,83,96],{"__ignoreMap":51},[55,56,59,62,66,69],"span",{"class":57,"line":58},"line",1,[55,60,23],{"class":61},"sScJk",[55,63,65],{"class":64},"sZZnC"," daemon",[55,67,68],{"class":64}," start",[55,70,72],{"class":71},"sJ8bj","     # start jawbd in the background if it isn't running\n",[55,74,76,78,80],{"class":57,"line":75},2,[55,77,23],{"class":61},[55,79,65],{"class":64},[55,81,82],{"class":64}," status\n",[55,84,86,88,90,93],{"class":57,"line":85},3,[55,87,23],{"class":61},[55,89,65],{"class":64},[55,91,92],{"class":64}," stop",[55,94,95],{"class":71},"      # stop it and wait until it has exited\n",[55,97,99,101,103,106],{"class":57,"line":98},4,[55,100,23],{"class":61},[55,102,65],{"class":64},[55,104,105],{"class":64}," install",[55,107,108],{"class":71},"   # fetch the jawbd version this jawb is pinned to\n",[10,110,111,114,115,118,119,122],{},[13,112,113],{},"--no-autostart"," (or ",[13,116,117],{},"JAWB_NO_AUTOSTART=1",") turns auto-start off, and a\nnon-default ",[13,120,121],{},"--daemon"," address never auto-starts.",[124,125,127],"h2",{"id":126},"running-jawbd-yourself","Running jawbd yourself",[10,129,130,131,133,134,137,138,140],{},"Run ",[13,132,15],{}," in a terminal when you want to pass it flags (from source:\n",[13,135,136],{},"cargo run -p jawbd"," in ",[13,139,19],{},"). It blocks — leave it running.",[46,142,147],{"className":143,"code":145,"language":146},[144],"language-text","jawbd [--port \u003Cn>] [--data-dir \u003Cdir>] [--vault-keyfile \u003Cpath>]\n      [--chrome \u003Cpath>] [--no-bridge] [--headful]\n","text",[13,148,145],{"__ignoreMap":51},[150,151,152,170,179,189],"ul",{},[153,154,155,114,158,161,162,165,166,169],"li",{},[13,156,157],{},"--data-dir \u003Cdir>",[13,159,160],{},"JAWB_DATA_DIR",") — where profiles, the token,\nand encryption keys live. Default: ",[13,163,164],{},"%LOCALAPPDATA%\\jawb"," on Windows,\n",[13,167,168],{},"$XDG_DATA_HOME\u002Fjawb"," elsewhere.",[153,171,172,114,175,178],{},[13,173,174],{},"--chrome \u003Cpath>",[13,176,177],{},"JAWB_CHROME",") — the Chrome\u002FChromium executable\nfor Act\u002FSee commands; auto-discovered otherwise.",[153,180,181,184,185,188],{},[13,182,183],{},"--no-bridge"," — disables Act\u002FSee entirely (",[13,186,187],{},"E_BRIDGE_DISABLED","\ninstead), useful to confirm your workflow degrades safely without a\nbrowser.",[153,190,191,114,194,197,198,200],{},[13,192,193],{},"--vault-keyfile \u003Cpath>",[13,195,196],{},"JAWB_VAULT_KEYFILE",") — lets ",[13,199,15],{},"\ncreate persistent (encrypted) profiles on hosts with no OS credential\nstore.",[10,202,203,204,206,207,209,210,212],{},"When ",[13,205,23],{}," starts the daemon for you, it passes the data directory\nand ",[13,208,196],{},", and the daemon inherits the rest of your\nenvironment, so set ",[13,211,177],{}," there.",[10,214,215],{},"Check it's up:",[46,217,219],{"className":48,"code":218,"language":50,"meta":51,"style":51},"$ jawb status\ndaemon: ok (jawbd 0.1.1, api 15)\nprofile: default\ntabs: 0\nvault: windows-dpapi (current user)\nbridge: enabled, compat-bridge\u002Fchromiumoxide (\u003Cpath to chrome>)\npurchase: gate approve, detection strict\napproval: assurance verified-if-available, verifier Windows Hello, channels desktop,prompt,terminal\nconfig: \u003Cdata_dir>\\config.toml\ndata dir: \u003Cdata_dir>\n",[13,220,221,231,256,264,272,289,319,337,364,387],{"__ignoreMap":51},[55,222,223,226,229],{"class":57,"line":58},[55,224,225],{"class":61},"$",[55,227,228],{"class":64}," jawb",[55,230,82],{"class":64},[55,232,233,236,239,243,246,249,253],{"class":57,"line":75},[55,234,235],{"class":61},"daemon:",[55,237,238],{"class":64}," ok",[55,240,242],{"class":241},"sVt8B"," (jawbd ",[55,244,245],{"class":64},"0.1.1,",[55,247,248],{"class":64}," api",[55,250,252],{"class":251},"sj4cs"," 15",[55,254,255],{"class":241},")\n",[55,257,258,261],{"class":57,"line":85},[55,259,260],{"class":61},"profile:",[55,262,263],{"class":64}," default\n",[55,265,266,269],{"class":57,"line":98},[55,267,268],{"class":61},"tabs:",[55,270,271],{"class":251}," 0\n",[55,273,275,278,281,284,287],{"class":57,"line":274},5,[55,276,277],{"class":61},"vault:",[55,279,280],{"class":64}," windows-dpapi",[55,282,283],{"class":241}," (current ",[55,285,286],{"class":64},"user",[55,288,255],{"class":241},[55,290,292,295,298,301,304,307,310,313,317],{"class":57,"line":291},6,[55,293,294],{"class":61},"bridge:",[55,296,297],{"class":64}," enabled,",[55,299,300],{"class":64}," compat-bridge\u002Fchromiumoxide",[55,302,303],{"class":241}," (\u003Cpath ",[55,305,306],{"class":64},"to",[55,308,309],{"class":64}," chrom",[55,311,312],{"class":241},"e",[55,314,316],{"class":315},"szBVR",">",[55,318,255],{"class":241},[55,320,322,325,328,331,334],{"class":57,"line":321},7,[55,323,324],{"class":61},"purchase:",[55,326,327],{"class":64}," gate",[55,329,330],{"class":64}," approve,",[55,332,333],{"class":64}," detection",[55,335,336],{"class":64}," strict\n",[55,338,340,343,346,349,352,355,358,361],{"class":57,"line":339},8,[55,341,342],{"class":61},"approval:",[55,344,345],{"class":64}," assurance",[55,347,348],{"class":64}," verified-if-available,",[55,350,351],{"class":64}," verifier",[55,353,354],{"class":64}," Windows",[55,356,357],{"class":64}," Hello,",[55,359,360],{"class":64}," channels",[55,362,363],{"class":64}," desktop,prompt,terminal\n",[55,365,367,370,373,376,379,381,384],{"class":57,"line":366},9,[55,368,369],{"class":61},"config:",[55,371,372],{"class":315}," \u003C",[55,374,375],{"class":64},"data_di",[55,377,378],{"class":241},"r",[55,380,316],{"class":315},[55,382,383],{"class":251},"\\c",[55,385,386],{"class":64},"onfig.toml\n",[55,388,390,393,396,398,400,402],{"class":57,"line":389},10,[55,391,392],{"class":61},"data",[55,394,395],{"class":64}," dir:",[55,397,372],{"class":315},[55,399,375],{"class":64},[55,401,378],{"class":241},[55,403,404],{"class":315},">\n",[10,406,407,408,413],{},"Next: ",[409,410,412],"a",{"href":411},"\u002Fdocs\u002Fgetting-started\u002Fusing-the-cli","use the CLI",".",[415,416,417],"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 .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);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":51,"searchDepth":75,"depth":75,"links":419},[420],{"id":126,"depth":75,"text":127},"How jawbd, the local daemon that holds all session state, starts and stops.","md",{},true,null,"\u002Fdocs\u002Fgetting-started\u002Frunning-the-daemon",{"title":5,"description":421},"docs\u002F2.getting-started\u002F4.running-the-daemon","wWTjl5hwlOtUJgArC_TlRx5qlV_YPHEonY8WgGxDJdw",[431],{"title":432,"path":433,"stem":434,"children":435},"Documentation","\u002Fdocs","docs\u002F1.index",[436,437,441,445,449,467,509,523,527,531,535,539],{"title":432,"path":433,"stem":434},{"title":438,"path":439,"stem":440},"Protocol adapters","\u002Fdocs\u002Fprotocol","docs\u002F10.protocol",{"title":442,"path":443,"stem":444},"Extensions","\u002Fdocs\u002Fextensions","docs\u002F11.extensions",{"title":446,"path":447,"stem":448},"Roadmap and status","\u002Fdocs\u002Froadmap","docs\u002F12.roadmap",{"title":450,"path":451,"stem":452,"children":453},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F2.getting-started\u002F1.index",[454,455,459,463,464],{"title":450,"path":451,"stem":452},{"title":456,"path":457,"stem":458},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F2.getting-started\u002F2.installation",{"title":460,"path":461,"stem":462},"Desktop app","\u002Fdocs\u002Fgetting-started\u002Fdesktop-app","docs\u002F2.getting-started\u002F3.desktop-app",{"title":5,"path":426,"stem":428},{"title":465,"path":411,"stem":466},"Using the CLI","docs\u002F2.getting-started\u002F5.using-the-cli",{"title":468,"path":469,"stem":470,"children":471},"CLI reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002F1.index",[472,473,477,481,485,489,493,497,501,505],{"title":468,"path":469,"stem":470},{"title":474,"path":475,"stem":476},"JSON envelope and exit codes","\u002Fdocs\u002Fcli\u002Fjson-and-exit-codes","docs\u002F3.cli\u002F10.json-and-exit-codes",{"title":478,"path":479,"stem":480},"jawb status","\u002Fdocs\u002Fcli\u002Fstatus","docs\u002F3.cli\u002F2.status",{"title":482,"path":483,"stem":484},"Tabs, profiles and sessions","\u002Fdocs\u002Fcli\u002Ftabs-and-profiles","docs\u002F3.cli\u002F3.tabs-and-profiles",{"title":486,"path":487,"stem":488},"jawb observe [\u003Curl>] [--full] [--interactive-only] [--js]","\u002Fdocs\u002Fcli\u002Fobserve","docs\u002F3.cli\u002F4.observe",{"title":490,"path":491,"stem":492},"jawb read [--format md|text|json] [--element \u003Cid>] [--full] [--js]","\u002Fdocs\u002Fcli\u002Fread","docs\u002F3.cli\u002F5.read",{"title":494,"path":495,"stem":496},"Act commands","\u002Fdocs\u002Fcli\u002Fact","docs\u002F3.cli\u002F6.act",{"title":498,"path":499,"stem":500},"See commands","\u002Fdocs\u002Fcli\u002Fsee","docs\u002F3.cli\u002F7.see",{"title":502,"path":503,"stem":504},"Policy and confirmation","\u002Fdocs\u002Fcli\u002Fpolicy","docs\u002F3.cli\u002F8.policy",{"title":506,"path":507,"stem":508},"Install lifecycle and profile settings","\u002Fdocs\u002Fcli\u002Flifecycle","docs\u002F3.cli\u002F9.lifecycle",{"title":510,"path":511,"stem":512,"children":513},"SDK reference","\u002Fdocs\u002Fsdk","docs\u002F4.sdk\u002F1.index",[514,515,519],{"title":510,"path":511,"stem":512},{"title":516,"path":517,"stem":518},"Rust SDK — jawb-sdk-rust","\u002Fdocs\u002Fsdk\u002Frust-sdk","docs\u002F4.sdk\u002F2.rust-sdk",{"title":520,"path":521,"stem":522},"Website SDK — @4hum-ai\u002Fjawb-sdk","\u002Fdocs\u002Fsdk\u002Fwebsite-sdk","docs\u002F4.sdk\u002F3.website-sdk",{"title":524,"path":525,"stem":526},"Configuration","\u002Fdocs\u002Fconfig","docs\u002F5.config",{"title":528,"path":529,"stem":530},"WebMCP","\u002Fdocs\u002Fwebmcp","docs\u002F6.webmcp",{"title":532,"path":533,"stem":534},"Agents","\u002Fdocs\u002Fagents","docs\u002F7.agents",{"title":536,"path":537,"stem":538},"MCP server","\u002Fdocs\u002Fmcp","docs\u002F8.mcp",{"title":540,"path":541,"stem":542},"Security and trust","\u002Fdocs\u002Fsecurity","docs\u002F9.security",1792595702387]