{"id":5510,"date":"2026-06-22T10:33:56","date_gmt":"2026-06-22T17:33:56","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/agent-framework\/?p=5510"},"modified":"2026-06-22T10:52:24","modified_gmt":"2026-06-22T17:52:24","slug":"build-your-own-claw-and-agent-harness-with-microsoft-agent-framework","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/build-your-own-claw-and-agent-harness-with-microsoft-agent-framework\/","title":{"rendered":"Build your own claw and agent harness with Microsoft Agent Framework"},"content":{"rendered":"<p>What does it take to build your own &#8220;claw&#8221; &#8211; a capable, CLI-style agent that can plan, use tools, remember things, and safely act on your behalf? Coding agents and assistants like these can feel like magic, but underneath they are an <em>agent harness<\/em>: a loop around a language model wired up with tools, planning, memory, approvals, and observability.<\/p>\n<p>In this series we build one from scratch using <a href=\"https:\/\/learn.microsoft.com\/agent-framework\/\"><strong>Microsoft Agent Framework<\/strong><\/a> and its batteries-included <strong>harness<\/strong>, demonstrating both <strong>.NET<\/strong> and <strong>Python<\/strong>, side by side.<\/p>\n<h2 id=\"a-claw-is-just-a-harness\">A claw is just a harness<\/h2>\n<p>Strip away the UI and a coding agent is a model plus a <em>harness<\/em> that gives it:<\/p>\n<ul>\n<li><strong>tools<\/strong> it can call,<\/li>\n<li>a <strong>plan<\/strong> it can follow and adapt,<\/li>\n<li><strong>memory<\/strong> that survives across turns and sessions,<\/li>\n<li><strong>approvals<\/strong> so risky actions need a human&#8217;s OK,<\/li>\n<li><strong>observability<\/strong> so you can see what it did,<\/li>\n<li>and a way to <strong>deploy<\/strong> it as a real service.<\/li>\n<\/ul>\n<p>Agent Framework ships these as composable building blocks, so you don&#8217;t have to hand-roll every piece. This series shows each one of these building blocks in action and how to use Agent Framework&#8217;s harness that already assembles all these together.<\/p>\n<h2 id=\"why-now-you-need-a-capable-model\">Why now? You need a capable model<\/h2>\n<p>The harness multiplies what a model can do, but the model is still the engine. Every turn of the loop depends on the model reliably following <em>your<\/em> instructions <strong>and<\/strong> the harness&#8217;s own instructions &#8211; choosing the right tool, sticking to a multi-step plan, knowing when to ask for approval, and reasoning over what it reads back.<\/p>\n<p>That&#8217;s why claws feel new: until recently, models couldn&#8217;t juggle this many layered instructions or call tools dependably enough for the loop to hold together. Recent advances &#8211; stronger instruction-following, reliable tool\/function calling, longer context windows, and better multi-step reasoning &#8211; are exactly what make this kind of agent practical today.<\/p>\n<blockquote><p>\ud83d\udca1 Use a current, high-capability model. You <em>can<\/em> run a harness on an older or smaller model, but expect it to follow your instructions and the harness&#8217;s instructions less fully, and to need more hand-holding.<\/p><\/blockquote>\n<h2 id=\"our-running-example-a-personal-finance-assistant\">Our running example: a personal finance assistant<\/h2>\n<p>In our series, we build <strong>one<\/strong> assistant across the whole series: a personal finance \/ investing helper. It looks up stock prices, reads your portfolio, drafts reports, and runs analyses. Some of its tools are sensitive (placing a trade, sending a report) and need approval; some tasks need planning. That makes it a great vehicle for showing off every part of the harness on something that feels real.<\/p>\n<blockquote><p>\u26a0\ufe0f It&#8217;s an illustrative sample, not financial advice &#8211; and the market data in the samples is mock data.<\/p><\/blockquote>\n<h2 id=\"the-series\">The series<\/h2>\n<table>\n<thead>\n<tr>\n<th>Part<\/th>\n<th>What we add<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/meet-your-agent-harness-and-claw\/\"><strong>1 &#8211; Meet your agent harness and claw<\/strong><\/a><\/td>\n<td>A minimal harness, a custom <code>get_stock_price<\/code> tool, web search, and planning (todos + plan\/execute modes).<\/td>\n<\/tr>\n<tr>\n<td><strong>2 &#8211; Working with your data, safely<\/strong> <em>(coming soon)<\/em><\/td>\n<td>File access (read a portfolio CSV, write reports), approvals for risky actions, and durable memory (file + Foundry).<\/td>\n<\/tr>\n<tr>\n<td><strong>3 &#8211; Scaling its capabilities<\/strong> <em>(coming soon)<\/em><\/td>\n<td>Skills (including Foundry-managed skills), background agents for concurrent work, shell access, and CodeAct.<\/td>\n<\/tr>\n<tr>\n<td><strong>4 &#8211; Production-ready<\/strong> <em>(coming soon)<\/em><\/td>\n<td>Observability (OpenTelemetry), governance (Purview), deployment to Foundry Hosted Agents, and evaluation.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Everything is grounded in runnable samples that live in the repository, so you can follow along and run each step yourself.<\/p>\n<p>Ready? <a href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/meet-your-agent-harness-and-claw\/\">Start with Post 1 &#8211; Meet your agent harness and claw \u2192<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What does it take to build your own &#8220;claw&#8221; &#8211; a capable, CLI-style agent that can plan, use tools, remember things, and safely act on your behalf? Coding agents and assistants like these can feel like magic, but underneath they are an agent harness: a loop around a language model wired up with tools, planning, [&hellip;]<\/p>\n","protected":false},"author":162052,"featured_media":5538,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[78,143,34],"tags":[],"class_list":["post-5510","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-net","category-agent-framework","category-python-2"],"acf":[],"blog_post_summary":"<p>What does it take to build your own &#8220;claw&#8221; &#8211; a capable, CLI-style agent that can plan, use tools, remember things, and safely act on your behalf? Coding agents and assistants like these can feel like magic, but underneath they are an agent harness: a loop around a language model wired up with tools, planning, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/5510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/users\/162052"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=5510"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/5510\/revisions"}],"predecessor-version":[{"id":5543,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/5510\/revisions\/5543"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/5538"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=5510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=5510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=5510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}