[{"data":1,"prerenderedAt":898},["ShallowReactive",2],{"navigation":3,"/features/tools":94,"/features/tools-surround":893},[4,22,39,68,81],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","/getting-started","1.getting-started",[9,13,17],{"title":10,"path":11,"stem":12},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":14,"path":15,"stem":16},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":18,"path":19,"stem":20},"Workspace","/getting-started/workspace","1.getting-started/3.workspace",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Configuration","/configuration","2.configuration",[27,31,35],{"title":28,"path":29,"stem":30},"Overview","/configuration/overview","2.configuration/1.overview",{"title":32,"path":33,"stem":34},"AI Providers","/configuration/ai-providers","2.configuration/2.ai-providers",{"title":36,"path":37,"stem":38},"Configuration Reference","/configuration/reference","2.configuration/3.reference",{"title":40,"path":41,"stem":42,"children":43,"page":21},"Features","/features","3.features",[44,48,52,56,60,64],{"title":45,"path":46,"stem":47},"Telegram","/features/telegram","3.features/1.telegram",{"title":49,"path":50,"stem":51},"Tools","/features/tools","3.features/2.tools",{"title":53,"path":54,"stem":55},"Scheduling","/features/scheduling","3.features/3.scheduling",{"title":57,"path":58,"stem":59},"Heartbeat","/features/heartbeat","3.features/4.heartbeat",{"title":61,"path":62,"stem":63},"Memory","/features/memory","3.features/5.memory",{"title":65,"path":66,"stem":67},"Skills","/features/skills","3.features/6.skills",{"title":69,"path":70,"stem":71,"children":72,"page":21},"Cli","/cli","4.cli",[73,77],{"title":74,"path":75,"stem":76},"CLI Commands","/cli/commands","4.cli/1.commands",{"title":78,"path":79,"stem":80},"Running as a Service","/cli/service-management","4.cli/2.service-management",{"title":82,"path":83,"stem":84,"children":85,"page":21},"Reference","/reference","5.reference",[86,90],{"title":87,"path":88,"stem":89},"Sessions","/reference/sessions","5.reference/1.sessions",{"title":91,"path":92,"stem":93},"Troubleshooting","/reference/troubleshooting","5.reference/3.troubleshooting",{"id":95,"title":49,"body":96,"description":886,"extension":887,"links":888,"meta":889,"navigation":890,"path":50,"seo":891,"stem":51,"__hash__":892},"docs/3.features/2.tools.md",{"type":97,"value":98,"toc":872},"minimark",[99,103,107,128,133,136,206,209,213,216,238,243,250,263,289,298,301,455,461,465,468,520,523,527,530,552,563,628,632,635,667,670,674,677,699,703,706,728,731,735,738,770,774,777,799,803,810,862,868],[100,101,49],"h1",{"id":102},"tools",[104,105,106],"p",{},"BabyClaw gives the agent a set of tools it can use during conversations. When you ask it to read a file, run a command, or search the web, it's calling these tools behind the scenes.",[104,108,109,110,114,115,118,119,123,124,127],{},"Tools are split into two groups: ",[111,112,113],"strong",{},"always available"," (scheduler and self-management) and ",[111,116,117],{},"generic tools"," (everything else). You can disable generic tools entirely by setting ",[120,121,122],"code",{},"tools.enableGenericTools"," to ",[120,125,126],{},"false"," in your config.",[129,130,132],"h2",{"id":131},"workspace-tools","Workspace tools",[104,134,135],{},"The agent can read, write, list, move, and delete files within its workspace directory.",[137,138,139,152],"table",{},[140,141,142],"thead",{},[143,144,145,149],"tr",{},[146,147,148],"th",{},"Tool",[146,150,151],{},"What it does",[153,154,155,166,176,186,196],"tbody",{},[143,156,157,163],{},[158,159,160],"td",{},[120,161,162],{},"workspace_read",[158,164,165],{},"Read a file's contents",[143,167,168,173],{},[158,169,170],{},[120,171,172],{},"workspace_write",[158,174,175],{},"Write or overwrite a file",[143,177,178,183],{},[158,179,180],{},[120,181,182],{},"workspace_list",[158,184,185],{},"List files and directories",[143,187,188,193],{},[158,189,190],{},[120,191,192],{},"workspace_delete",[158,194,195],{},"Delete a file",[143,197,198,203],{},[158,199,200],{},[120,201,202],{},"workspace_move",[158,204,205],{},"Move or rename a file",[104,207,208],{},"These are scoped to the workspace directory -- the agent can't access files outside of it.",[129,210,212],{"id":211},"shell-tools","Shell tools",[104,214,215],{},"The agent can run shell commands on your machine. This is where things get interesting (and where you should think about security).",[137,217,218,226],{},[140,219,220],{},[143,221,222,224],{},[146,223,148],{},[146,225,151],{},[153,227,228],{},[143,229,230,235],{},[158,231,232],{},[120,233,234],{},"shell_exec",[158,236,237],{},"Execute a shell command",[239,240,242],"h3",{"id":241},"shell-security-modes","Shell security modes",[104,244,245,246,249],{},"The ",[120,247,248],{},"tools.shell.mode"," config controls what the agent is allowed to run:",[104,251,252,258,259,262],{},[111,253,254,257],{},[120,255,256],{},"\"allowlist\""," (default):"," The agent can only run commands from the ",[120,260,261],{},"tools.shell.allowedCommands"," list. If it tries to run something else, the command is blocked (or sent to you for approval if you have the Telegram approval flow set up).",[104,264,265,266,269,270,269,273,269,276,269,279,269,282,269,285,288],{},"The default allowlist includes common commands like ",[120,267,268],{},"ls",", ",[120,271,272],{},"cat",[120,274,275],{},"grep",[120,277,278],{},"git",[120,280,281],{},"node",[120,283,284],{},"python",[120,286,287],{},"curl",", and more -- about 50 commands that cover most everyday tasks.",[104,290,291,297],{},[111,292,293,296],{},[120,294,295],{},"\"full-access\"",":"," The agent can run any command. A warning is logged at startup. Use this if you trust the agent and your setup, but be aware of the risk.",[104,299,300],{},"To add a command to the allowlist:",[302,303,308],"pre",{"className":304,"code":305,"language":306,"meta":307,"style":307},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"tools\": {\n    \"shell\": {\n      \"mode\": \"allowlist\",\n      \"allowedCommands\": [\"ls\", \"cat\", \"git\", \"docker\", \"kubectl\"]\n    }\n  }\n}\n","json","",[120,309,310,319,336,352,378,437,443,449],{"__ignoreMap":307},[311,312,315],"span",{"class":313,"line":314},"line",1,[311,316,318],{"class":317},"sMK4o","{\n",[311,320,322,325,328,331,333],{"class":313,"line":321},2,[311,323,324],{"class":317},"  \"",[311,326,102],{"class":327},"spNyl",[311,329,330],{"class":317},"\"",[311,332,296],{"class":317},[311,334,335],{"class":317}," {\n",[311,337,339,342,346,348,350],{"class":313,"line":338},3,[311,340,341],{"class":317},"    \"",[311,343,345],{"class":344},"sBMFI","shell",[311,347,330],{"class":317},[311,349,296],{"class":317},[311,351,335],{"class":317},[311,353,355,358,362,364,366,369,373,375],{"class":313,"line":354},4,[311,356,357],{"class":317},"      \"",[311,359,361],{"class":360},"sbssI","mode",[311,363,330],{"class":317},[311,365,296],{"class":317},[311,367,368],{"class":317}," \"",[311,370,372],{"class":371},"sfazB","allowlist",[311,374,330],{"class":317},[311,376,377],{"class":317},",\n",[311,379,381,383,386,388,390,393,395,397,399,402,404,406,408,410,412,414,416,418,420,423,425,427,429,432,434],{"class":313,"line":380},5,[311,382,357],{"class":317},[311,384,385],{"class":360},"allowedCommands",[311,387,330],{"class":317},[311,389,296],{"class":317},[311,391,392],{"class":317}," [",[311,394,330],{"class":317},[311,396,268],{"class":371},[311,398,330],{"class":317},[311,400,401],{"class":317},",",[311,403,368],{"class":317},[311,405,272],{"class":371},[311,407,330],{"class":317},[311,409,401],{"class":317},[311,411,368],{"class":317},[311,413,278],{"class":371},[311,415,330],{"class":317},[311,417,401],{"class":317},[311,419,368],{"class":317},[311,421,422],{"class":371},"docker",[311,424,330],{"class":317},[311,426,401],{"class":317},[311,428,368],{"class":317},[311,430,431],{"class":371},"kubectl",[311,433,330],{"class":317},[311,435,436],{"class":317},"]\n",[311,438,440],{"class":313,"line":439},6,[311,441,442],{"class":317},"    }\n",[311,444,446],{"class":313,"line":445},7,[311,447,448],{"class":317},"  }\n",[311,450,452],{"class":313,"line":451},8,[311,453,454],{"class":317},"}\n",[104,456,457,458,460],{},"Note that setting ",[120,459,385],{}," replaces the entire default list, so include any defaults you still want.",[129,462,464],{"id":463},"state-tools","State tools",[104,466,467],{},"A simple persistent key-value store scoped to the workspace.",[137,469,470,478],{},[140,471,472],{},[143,473,474,476],{},[146,475,148],{},[146,477,151],{},[153,479,480,490,500,510],{},[143,481,482,487],{},[158,483,484],{},[120,485,486],{},"state_get",[158,488,489],{},"Read a value by key",[143,491,492,497],{},[158,493,494],{},[120,495,496],{},"state_set",[158,498,499],{},"Store a value",[143,501,502,507],{},[158,503,504],{},[120,505,506],{},"state_list",[158,508,509],{},"List all keys",[143,511,512,517],{},[158,513,514],{},[120,515,516],{},"state_delete",[158,518,519],{},"Remove a key",[104,521,522],{},"State is stored as files in the workspace. Useful for the agent to track things between sessions.",[129,524,526],{"id":525},"web-search","Web search",[104,528,529],{},"When configured with a Brave Search API key, the agent can search the web.",[137,531,532,540],{},[140,533,534],{},[143,535,536,538],{},[146,537,148],{},[146,539,151],{},[153,541,542],{},[143,543,544,549],{},[158,545,546],{},[120,547,548],{},"web_search",[158,550,551],{},"Search the web using Brave Search",[104,553,554,555,562],{},"To enable it, get an API key from the ",[556,557,561],"a",{"href":558,"rel":559},"https://brave.com/search/api/",[560],"nofollow","Brave Search API"," and add it to your config:",[302,564,566],{"className":304,"code":565,"language":306,"meta":307,"style":307},"{\n  \"tools\": {\n    \"webSearch\": {\n      \"braveApiKey\": \"BSA...\"\n    }\n  }\n}\n",[120,567,568,572,584,597,616,620,624],{"__ignoreMap":307},[311,569,570],{"class":313,"line":314},[311,571,318],{"class":317},[311,573,574,576,578,580,582],{"class":313,"line":321},[311,575,324],{"class":317},[311,577,102],{"class":327},[311,579,330],{"class":317},[311,581,296],{"class":317},[311,583,335],{"class":317},[311,585,586,588,591,593,595],{"class":313,"line":338},[311,587,341],{"class":317},[311,589,590],{"class":344},"webSearch",[311,592,330],{"class":317},[311,594,296],{"class":317},[311,596,335],{"class":317},[311,598,599,601,604,606,608,610,613],{"class":313,"line":354},[311,600,357],{"class":317},[311,602,603],{"class":360},"braveApiKey",[311,605,330],{"class":317},[311,607,296],{"class":317},[311,609,368],{"class":317},[311,611,612],{"class":371},"BSA...",[311,614,615],{"class":317},"\"\n",[311,617,618],{"class":313,"line":380},[311,619,442],{"class":317},[311,621,622],{"class":313,"line":439},[311,623,448],{"class":317},[311,625,626],{"class":313,"line":445},[311,627,454],{"class":317},[129,629,631],{"id":630},"messaging-tools","Messaging tools",[104,633,634],{},"In the main session, the agent can send messages to linked chats.",[137,636,637,645],{},[140,638,639],{},[143,640,641,643],{},[146,642,148],{},[146,644,151],{},[153,646,647,657],{},[143,648,649,654],{},[158,650,651],{},[120,652,653],{},"send_message",[158,655,656],{},"Send a text message to a linked chat",[143,658,659,664],{},[158,660,661],{},[120,662,663],{},"list_known_chats",[158,665,666],{},"List all linked chats and their aliases",[104,668,669],{},"These only appear in the main session. In other sessions, messaging tools aren't available (to prevent the agent from leaking context across chats).",[129,671,673],{"id":672},"media-tools","Media tools",[104,675,676],{},"The agent can send files through the channel.",[137,678,679,687],{},[140,680,681],{},[143,682,683,685],{},[146,684,148],{},[146,686,151],{},[153,688,689],{},[143,690,691,696],{},[158,692,693],{},[120,694,695],{},"send_file",[158,697,698],{},"Send an image, document, audio file, video, or animation",[129,700,702],{"id":701},"working-memory","Working memory",[104,704,705],{},"A per-session scratchpad that the agent uses to keep notes during a conversation.",[137,707,708,716],{},[140,709,710],{},[143,711,712,714],{},[146,713,148],{},[146,715,151],{},[153,717,718],{},[143,719,720,725],{},[158,721,722],{},[120,723,724],{},"update_working_memory",[158,726,727],{},"Update the session's working memory",[104,729,730],{},"Working memory is temporary -- it exists for the duration of a session and is included in the agent's context on each turn. The agent uses it to track things like file paths, IDs, or intermediate results it needs to remember within a conversation.",[129,732,734],{"id":733},"self-tools","Self tools",[104,736,737],{},"The agent can check its own status and manage the gateway.",[137,739,740,748],{},[140,741,742],{},[143,743,744,746],{},[146,745,148],{},[146,747,151],{},[153,749,750,760],{},[143,751,752,757],{},[158,753,754],{},[120,755,756],{},"self_status",[158,758,759],{},"Check gateway status, uptime, active turns, scheduler/heartbeat state",[143,761,762,767],{},[158,763,764],{},[120,765,766],{},"self_restart",[158,768,769],{},"Restart the gateway process",[129,771,773],{"id":772},"clawhub-tools","ClawHub tools",[104,775,776],{},"The agent can install skills from ClawHub during a conversation.",[137,778,779,787],{},[140,780,781],{},[143,782,783,785],{},[146,784,148],{},[146,786,151],{},[153,788,789],{},[143,790,791,796],{},[158,792,793],{},[120,794,795],{},"clawhub_install",[158,797,798],{},"Install a skill from the ClawHub registry",[129,800,802],{"id":801},"scheduler-tools","Scheduler tools",[104,804,805,806,809],{},"Always available, regardless of the ",[120,807,808],{},"enableGenericTools"," setting.",[137,811,812,820],{},[140,813,814],{},[143,815,816,818],{},[146,817,148],{},[146,819,151],{},[153,821,822,832,842,852],{},[143,823,824,829],{},[158,825,826],{},[120,827,828],{},"get_current_time",[158,830,831],{},"Get the current time in the configured timezone",[143,833,834,839],{},[158,835,836],{},[120,837,838],{},"create_schedule",[158,840,841],{},"Create a one-off or recurring schedule",[143,843,844,849],{},[158,845,846],{},[120,847,848],{},"list_schedules",[158,850,851],{},"List active schedules",[143,853,854,859],{},[158,855,856],{},[120,857,858],{},"cancel_schedule",[158,860,861],{},"Cancel a schedule",[104,863,864,865,867],{},"See ",[556,866,53],{"href":54}," for more on how scheduling works.",[869,870,871],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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":307,"searchDepth":314,"depth":321,"links":873},[874,875,878,879,880,881,882,883,884,885],{"id":131,"depth":321,"text":132},{"id":211,"depth":321,"text":212,"children":876},[877],{"id":241,"depth":338,"text":242},{"id":463,"depth":321,"text":464},{"id":525,"depth":321,"text":526},{"id":630,"depth":321,"text":631},{"id":672,"depth":321,"text":673},{"id":701,"depth":321,"text":702},{"id":733,"depth":321,"text":734},{"id":772,"depth":321,"text":773},{"id":801,"depth":321,"text":802},"What tools the agent has access to and how to configure them.","md",null,{},true,{"title":49,"description":886},"Jmw8SYUnhZNl5wAGPnVmln_AMMtQdqIPvoFXfHMyAwg",[894,896],{"title":45,"path":46,"stem":47,"description":895,"children":-1},"How the Telegram integration works -- setting up a bot, conversations, and supported features.",{"title":53,"path":54,"stem":55,"description":897,"children":-1},"One-off and recurring tasks with cron expressions and timezone support.",1771846894211]