<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[fluxum engineering: English articles]]></title><description><![CDATA[Teamwork, technology and new forms of collaboration in the digital age]]></description><link>https://blog.fluxum.net/s/english-articles</link><image><url>https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png</url><title>fluxum engineering: English articles</title><link>https://blog.fluxum.net/s/english-articles</link></image><generator>Substack</generator><lastBuildDate>Wed, 08 Apr 2026 07:52:48 GMT</lastBuildDate><atom:link href="https://blog.fluxum.net/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Martin Gross]]></copyright><language><![CDATA[de]]></language><webMaster><![CDATA[fluxum@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[fluxum@substack.com]]></itunes:email><itunes:name><![CDATA[Martin Gross]]></itunes:name></itunes:owner><itunes:author><![CDATA[Martin Gross]]></itunes:author><googleplay:owner><![CDATA[fluxum@substack.com]]></googleplay:owner><googleplay:email><![CDATA[fluxum@substack.com]]></googleplay:email><googleplay:author><![CDATA[Martin Gross]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[How Secure Is the Claude Code Sandbox on the Mac?]]></title><description><![CDATA[A Look Under the Hood of Claude Code and Cowork]]></description><link>https://blog.fluxum.net/p/how-secure-is-the-claude-code-sandbox</link><guid isPermaLink="false">https://blog.fluxum.net/p/how-secure-is-the-claude-code-sandbox</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Sun, 01 Mar 2026 14:43:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jelx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>AI agents execute commands on your machine &#8212; but how well do the sandboxes of Claude Code and Cowork actually protect you? Both promise isolation, yet rely on entirely different mechanisms. I didn&#8217;t just read the documentation &#8212; I examined both systems from the inside using standard Linux tools. The result: the isolation is real, verifiable, and surprisingly well thought out.</em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jelx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jelx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1813962,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.fluxum.net/i/189551969?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jelx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!Jelx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd664dcb5-f88c-4c6e-9660-865ba0af7747_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><blockquote><p>&#8220;If Claude decides to delete all my files: no big deal &#8212; but only inside an isolated VM.&#8221;</p></blockquote><p>Anyone who uses Claude Code in the terminal with default settings knows the drill: many commands require approval before Claude Code executes them. You constantly have to weigh whether a given command is safe or not.</p><blockquote><p>&#8220;Allow this? Allow once? Allow always?&#8221;</p></blockquote><p>You keep checking: is this harmless, or could this command cause problems? Cognitive load from reading command lines.</p><p>There are essentially two extremes: either you review every single permission request yourself, or you use the <code>--dangerously-skip-permissions</code> option, which allows everything. In between, there are many gradations. You can define your permissions with fine granularity, but that&#8217;s almost as much effort.</p><p>How nice would it be if you could simply allow everything while still being certain that nothing unwanted happens on your machine. Then agentic coding could proceed unhindered and you&#8217;d get results fast.</p><p>That&#8217;s exactly what an isolated system promises &#8212; one that runs shielded from your actual computer. Such an isolated system reduces the blast radius &#8212; the maximum damage a misguided command can cause &#8212; immensely. If something goes wrong, you simply restart and return to the last stable state. There are many ways to implement this.</p><p>One of them is the <code>/sandbox</code> command built into Claude Code. It activates a sandbox that restricts Claude Code at the OS level &#8212; file access and networking. You can let commands run automatically without confirming each one, because the sandbox limits what can happen. But how secure is it really?</p><p>And then there&#8217;s <strong>Cowork</strong> in the desktop version of the Claude app. Cowork is aimed more at knowledge workers than developers. It can access folders, create and modify files, install packages &#8212; all autonomously. At first glance, it&#8217;s not obvious how the protection works. There&#8217;s no <code>/sandbox</code> command you&#8217;d need to activate. The isolation happens in the background.</p><p>I was curious about both: how does the sandbox work in Claude Code? And how does Cowork protect me from unwanted changes on my machine?</p><p>I didn&#8217;t want to rely on the documentation alone &#8212; instead, I examined both systems from the inside. Here&#8217;s what I found.</p><h2>Two Products, Two Audiences, Two Security Models</h2><p>Before I dive into the technical details, an important distinction:</p><p><strong>Claude Code</strong> is a terminal tool for developers. It executes commands on your machine &#8212; in the same context where you work. The sandbox must be manually activated (<code>/sandbox</code>), making it opt-in. That makes sense: developers need as few restrictions as possible to be productive. They want to run commands that a restrictive sandbox would block. But with great power comes great responsibility. You need to understand what you&#8217;re approving.</p><p><strong>Cowork</strong> is part of the Claude Desktop app and is aimed at users who don&#8217;t want to deal with the command line. When someone asks Claude to create an Excel spreadsheet from five PDFs, they expect a result &#8212; not a discussion about file permissions. Cowork therefore needs to provide stronger protection, without requiring the user to configure anything.</p><p>The result: two different isolation models for two different risk profiles.</p><p>Let&#8217;s get into the details.</p><div><hr></div><h2>Cowork: A Linux Inside Your Mac</h2><p>Cowork launches a lightweight Linux VM via Apple&#8217;s Virtualization.framework. Not a container, but a real virtual machine with its own kernel.</p><p>What does the VM say about itself?</p><pre><code><code>$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"

$ uname -r
6.8.0-94-generic

$ uname -m
aarch64

$ nproc
4

$ free -h
              total    used    free
Mem:          3.8Gi   564Mi   1.8Gi
Swap:            0B      0B      0B

$ df -h /
Filesystem      Size  Used Avail Use%
/dev/nvme0n1p1  9.6G  7.2G  2.4G  75%
</code></code></pre><p>Ubuntu 22.04 on ARM64, 4 cores, 3.8 GB RAM, a 10 GB disk. No swap. Lean enough for document processing and scripts, but not meant for machine learning training.</p><p>On the macOS host, the VM files live at <code>~/Library/Application Support/Claude/vm_bundles/claudevm.bundle/</code>. The root image (<code>rootfs.img</code>) is 10 GB as a sparse file but only occupies about 7.5 GB on disk.</p><p>Alongside it sits a compressed backup (<code>rootfs.img.zst</code>, ~2 GB) and a few configuration files: <code>efivars.fd</code>, <code>macAddress</code>, <code>machineIdentifier</code>.</p><div><hr></div><h2>How Three Layers Work Together to Secure the Isolation</h2><p>The VM alone would already be a solid boundary. But Anthropic stacks three layers on top of each other.</p><h3>Layer 1: The VM</h3><p>Apple&#8217;s Virtualization.framework provides hardware isolation. The guest has its own kernel. Even an <code>rm -rf /</code> inside the VM leaves the host untouched.</p><h3>Layer 2: bubblewrap + seccomp</h3><p>Inside the VM, Claude doesn&#8217;t run directly &#8212; first comes <strong>bubblewrap</strong> (short: <code>bwrap</code>). Bubblewrap is a sandboxing tool that uses Linux namespaces to isolate processes from each other &#8212; similar to what containers do, but more lightweight.</p><p>It restricts what a process can see and do: which files, which network interfaces, which other processes.</p><p>In the Cowork VM, bubblewrap is PID 1 &#8212; the very first process:</p><pre><code><code>$ cat /proc/1/status | head -2
Name:   bwrap
State:  S (sleeping)
</code></code></pre><p>The bwrap command line (readable via <code>/proc/1/cmdline</code>) shows the key restrictions at a glance:</p><ul><li><p><code>--unshare-net</code> &#8212; separate network namespace, no direct network access</p></li><li><p><code>--unshare-pid</code> &#8212; separate PID namespace, other processes invisible</p></li><li><p><code>--ro-bind / /</code> &#8212; root filesystem mounted read-only</p></li><li><p><code>--die-with-parent</code> &#8212; if the parent process dies, the sandbox dies with it</p></li><li><p><code>--tmpfs /etc/ssh/ssh_config.d</code> &#8212; SSH configuration overlaid with an empty tmpfs</p></li></ul><p>Additionally, a <strong>seccomp filter</strong> is loaded. Seccomp (Secure Computing Mode) is a Linux kernel mechanism that determines which system calls a process is allowed to make. System calls are the interface between a program and the operating system &#8212; opening files, establishing network connections, starting processes.</p><p>A seccomp filter can selectively block individual system calls, drastically limiting a process&#8217;s radius of action.</p><pre><code><code>$ grep Seccomp /proc/self/status
Seccomp:         2
Seccomp_filters: 2
</code></code></pre><p><code>Seccomp: 2</code> means filter mode &#8212; there&#8217;s an active allowlist for permitted syscalls. The filter file is called <code>unix-block.bpf</code> and is loaded via a dedicated binary (<code>apply-seccomp</code>).</p><h3>Layer 3: Network Isolation</h3><p>No process in the sandbox has direct internet access. All traffic goes through a local proxy:</p><pre><code><code>$ env | grep HTTP_PROXY
HTTP_PROXY=http://localhost:3128

$ env | grep ALL_PROXY
ALL_PROXY=socks5h://localhost:1080
</code></code></pre><p>The proxy runs via <code>socat</code>, which tunnels TCP connections into Unix sockets that lead out of the VM. On the host side, an <strong>allowlist</strong> decides which domains may pass through.</p><p>I tested it:</p><pre><code><code>$ curl -s -o /dev/null -w "%{http_code}" https://registry.npmjs.org
200

$ curl -s -o /dev/null -w "%{http_code}" https://pypi.org
200

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "HTTP/1.1"
&lt; HTTP/1.1 403 Forbidden

$ curl -sv https://evil-exfiltration-test.example.org 2&gt;&amp;1 | grep "X-Proxy"
&lt; X-Proxy-Error: blocked-by-allowlist
</code></code></pre><p>npm and PyPI get through. Everything else receives a <code>403 Forbidden</code> with the header <code>X-Proxy-Error: blocked-by-allowlist</code>. Direct DNS lookups also fail:</p><pre><code><code>$ nslookup google.com
socket(): Operation not permitted
;; no servers could be reached
</code></code></pre><p>This is consistent: even if a prompt injection attack were to trick Claude into sending data to an external server &#8212; the proxy would block it.</p><div><hr></div><h2>Which Files Does the VM See?</h2><p>Files enter the VM via <strong>VirtioFS</strong> &#8212; a filesystem protocol designed specifically for communication between a VM and its host. Instead of simulating real hardware, host and guest cooperate deliberately (paravirtualization). This makes file access fast and low-overhead.</p><pre><code><code>$ mount | grep virtiofs
/mnt/.virtiofs-root/shared/Work/.../Marketing on
  /sessions/elegant-adoring-brown/mnt/Marketing type fuse (rw,...)
</code></code></pre><p>Only the folder I selected in the Desktop app is mounted. Not my home directory, not my Desktop, not my Downloads &#8212; just the one folder I explicitly shared.</p><p>Plugins and Skills are additionally mounted via <strong>bindfs</strong>. Bindfs is a FUSE filesystem that remounts an existing folder at a different location &#8212; similar to a symlink, but with the ability to change permissions. This way, Skills can be mounted read-only even though they&#8217;re writable on the host. Uploads also land in a separate, read-only mount.</p><p>One detail reveals that the VM serves multiple conversations simultaneously: the <code>/sessions/</code> directory contains different sessions side by side:</p><pre><code><code>$ ls -la /sessions/
drwxr-x--- elegant-adoring-brown  elegant-adoring-brown  ...
drwxr-x--- nobody                 nogroup                awesome-epic-mccarthy
drwxr-x--- nobody                 nogroup                dazzling-vibrant-carson
</code></code></pre><p>Each session gets its own Linux user with its own UID. My user is called <code>elegant-adoring-brown</code> (uid 1005). The other sessions are listed under <code>nobody</code> &#8212; I can&#8217;t read their files.</p><div><hr></div><h2>How Does Claude Code Protect Without a VM?</h2><p>Claude Code in the terminal uses a different approach on macOS: Apple&#8217;s <strong>Seatbelt</strong> (also known as <code>sandbox-exec</code>). Instead of a VM, a dynamically generated sandbox profile restricts the process at the OS level. Important: the sandbox must be manually activated with <code>/sandbox</code> &#8212; without this step, Claude Code runs without OS-level isolation.</p><p>The profile starts with <code>(deny default)</code> &#8212; everything is forbidden unless explicitly allowed. The sandbox runtime is open source and available on GitHub. I downloaded the npm package <code>@anthropic-ai/sandbox-runtime</code> and analyzed the <code>macos-sandbox-utils.js</code>:</p><ul><li><p><strong>59 sysctl entries</strong> are made readable (hardware info like CPU count, memory size)</p></li><li><p><strong>14 Mach IPC services</strong> on the whitelist (Fonts, Logging, Security Server)</p></li><li><p><strong>Mandatory denies</strong> for <code>.env</code>, <code>.ssh</code>, <code>.aws</code>, <code>.git/hooks</code>, <code>.git/config</code> &#8212; even when the working directory has write access</p></li><li><p><strong>Move blocking</strong>: <code>file-write-rename</code> and <code>file-write-unlink</code> are blocked for protected paths, preventing circumvention of the denies via <code>mv</code></p></li></ul><p>The network isolation works the same way as with Cowork: all traffic goes through the same proxy with an allowlist. The difference: with Seatbelt, this happens at the process level (same kernel); with Cowork, at the VM level (separate kernel).</p><h3>Why Two Models?</h3><p>Claude Code is aimed at developers who need fast feedback in the terminal. The Seatbelt overhead is in the low single-digit millisecond range &#8212; I measured it on the host, no perceptible difference from a command without sandbox. Developers can selectively activate the sandbox when they want to give an agent more autonomy without having to approve every command.</p><p>Cowork gives Claude significantly more autonomy: it runs longer, creates files independently, installs packages. And it&#8217;s aimed at users who can&#8217;t assess (and don&#8217;t need to assess) which commands are being executed at the operating system level. The potential damage from an agent with local file access, code generation, and network egress is greater &#8212; and users are less able to evaluate it. Full VM isolation is appropriate here.</p><div><hr></div><h2>What I Take Away From This</h2><p>The isolation is real. Not just on paper, but verifiable.</p><p>Three things convinced me in particular:</p><p>First, the <strong>proxy allowlist with the explicit </strong><code>X-Proxy-Error: blocked-by-allowlist</code><strong> header</strong>. This isn&#8217;t a silent error message but a deliberate architectural decision. You can immediately see why a connection fails.</p><p>Second, the <strong>layering</strong>. The VM alone would be good. With bubblewrap and seccomp, it gets better. All three together make it significantly harder to break out of the sandbox. An exploit would have to simultaneously bypass the seccomp filter, escape the bwrap namespace, and then break out of the VM &#8212; on a system with no direct network access.</p><p>Third, the <strong>transparency</strong>. The sandbox runtime is open source. I downloaded the <code>macos-sandbox-utils.js</code> code &#8212; the 59 sysctl entries, the 14 Mach services, and the mandatory denies for <code>.env</code>, <code>.ssh</code>, and <code>.aws</code> are all there in black and white. The Seatbelt profile is dynamically generated, but the generating code is inspectable. The VM architecture can be examined from the inside. You don&#8217;t have to take anyone&#8217;s word for it &#8212; you can look for yourself.</p><p>If you want to look for yourself: the <a href="https://github.com/anthropic-experimental/sandbox-runtime">sandbox runtime is on GitHub</a>. An <code>npm pack</code> and a look at <code>macos-sandbox-utils.js</code> is all it takes to understand the Seatbelt profile.</p><div><hr></div><h2>What You Can Do Now</h2><p>If you&#8217;re using Claude Code and haven&#8217;t tried the sandbox yet: start a session and type <code>/sandbox</code>. That alone significantly reduces the effort of approving commands one by one. For everyday use, that&#8217;s often enough.</p><p>If you want to go deeper:</p><ul><li><p><strong>Inspect the sandbox runtime</strong>: <code>npm pack @anthropic-ai/sandbox-runtime</code>, unpack, read <code>macos-sandbox-utils.js</code>. There you&#8217;ll see exactly what&#8217;s allowed and what&#8217;s blocked.</p></li><li><p><strong>Examine Cowork from the inside</strong>: Launch Cowork and ask it to run <code>cat /proc/1/cmdline | tr '\0' '\n'</code>. The bubblewrap flags reveal the isolation in detail.</p></li><li><p><strong>Test the network</strong>: A <code>curl https://evil-exfiltration-test.example.org</code> inside the sandbox immediately shows you whether the allowlist is working.</p></li></ul><h2>What&#8217;s Next?</h2><p>The current state is clear. But one question remains: will it stay this way? Claude Code and Cowork already share the agentic architecture &#8212; and there are concrete signals that the security models are converging as well:</p><ul><li><p><strong>Docker</strong> is delivering MicroVM sandboxes with <code>docker-model-runner</code>, specifically designed for AI agents.</p></li><li><p><strong>Apple</strong> is bringing its own Containerization framework with macOS 26 &#8212; native container support on the Mac for the first time.</p></li><li><p><strong>Anthropic</strong> documents DevContainers as the official path toward stronger isolation in Claude Code.</p></li></ul><p>Three players, three approaches, one goal: agents should be able to do more without being able to cause more damage. In the next article, I&#8217;ll examine the pros and cons of each path &#8212; and why I consider one of them the most likely.</p><p>If you want to be notified when the next article is published:</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><p>Subscribe to my Substack &#8212; free, no spam, just substance.</p><div><hr></div><h2>Sources</h2><ul><li><p><a href="https://code.claude.com/docs/en/sandboxing">Sandboxing &#8212; Claude Code Docs</a></p></li><li><p><a href="https://github.com/anthropic-experimental/sandbox-runtime">sandbox-runtime (GitHub)</a></p></li><li><p><a href="https://pvieito.com/2026/01/inside-claude-cowork">Inside Claude Cowork (Pedro Jos&#233; Pereira Vieito)</a> &#8212; Reverse engineering analysis of the VM architecture</p></li><li><p><a href="https://developer.apple.com/documentation/virtualization">Apple Virtualization Framework</a></p></li></ul>]]></content:encoded></item><item><title><![CDATA[Where humans matter: Agentic Coding in Practice]]></title><description><![CDATA[What I Learned from AI-Assisted Software Development and How I Approach It Today]]></description><link>https://blog.fluxum.net/p/where-humans-matter-agentic-coding</link><guid isPermaLink="false">https://blog.fluxum.net/p/where-humans-matter-agentic-coding</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Tue, 09 Dec 2025 18:06:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_oj!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa142b85f-3d35-4a80-bdac-1835f765cd9e_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Agentic Coding: What I&#8217;ve learned and how I approach it today</h1><p>The discussion about agentic coding fluctuates between two extremes: &#8220;AI will solve everything&#8221; on the one hand, &#8220;It&#8217;s all just hype&#8221; on the other.</p><p>Both positions fall short. After months of intensive work with coding agents, I would like to share with you what I have learned in the process &#8211; and how my way of working has changed.</p><h2>The current state of affairs: 7 theses</h2><p>Before I get to my own specific experiences, here are 7 core theses written by Simon Wardley, which I have supplemented with my own perspective:</p><p><strong>Development is not yet engineering.</strong> While testing has become a systematic discipline through practices such as TDD, development remains largely intuition-driven. There are patterns, but no consistent system. Agentic coding could be a catalyst for this transformation, if we approach it correctly.</p><p><strong>Small, contextual tools beat monoliths with LLM on top.</strong> The prevailing approach of simply enriching existing systems with LLM capabilities does not exploit the potential. More effective are combinable tools with clear inputs, outputs, and specific application contexts.</p><p><strong>LLMs are coherence machines, not truth machines.</strong> They optimize for plausibility, not correctness. This makes them valuable for drafting and exploration, but unreliable for final decisions without human validation.</p><p><strong>Code is more than functionality &#8211; structure is the real decision.</strong> Architectural decisions manifest themselves in code. LLMs can generate functionality, but structural decisions require an understanding of the system.</p><p><strong>The key question: Where do humans stand in the decision-making process?</strong> It&#8217;s not about whether AI is used, but where human judgment remains indispensable. This boundary must be drawn consciously.</p><p><strong>Practices are still evolving.</strong> What is considered state of the art today may be obsolete tomorrow. Beware of hasty best practices.</p><p><strong>Experimentation is fine, but with an awareness of the terrain.</strong> Speed without direction is just getting lost quickly.</p><h2>My approach today</h2><p>These theories align well with my experiences. However, theory is one thing and daily practice is another. Here&#8217;s what works for me.</p><h3>A deliberately modular setup</h3><p>I don&#8217;t like working with fully integrated solutions. Not on principle, but because they don&#8217;t work optimally for my workflow.</p><p>My setup consists of three components:</p><ol><li><p>An IDE, such as IntelliJ IDEA, which allows me to keep track of the code. I can quickly check where everything is located. Git integration is extremely important here &#8212; it makes changes traceable and reversible. IntelliJ can do almost everything I need, including inspecting databases. Unfortunately, with power comes complexity. For smaller projects, I prefer the ZED editor because it&#8217;s more streamlined and intuitive.</p></li><li><p>I use the terminal (preferably Ghostty) with my coding agent, which is currently mainly Claude Code. There, I give instructions, observe, and control.</p></li><li><p>I use an LLM chat window for conceptual work. At the beginning of a project, I use it to work through ideas and organize them in a document before writing code.</p></li></ol><p>This three-way split is no coincidence. It corresponds to the principle of specialized tools: each component has its strengths, none tries to be everything.</p><p>I use other specialized tools here and there, such as the GitHub Desktop app. But at its core, these three tools are the ones I use.</p><h3>Sub-agents as the key</h3><p>Perhaps the most important lesson learned in recent months is that specialized sub-agents deliver significantly better results than general-purpose agents. The reason is simple&#8212;the tailored context makes all the difference.</p><p>Two examples from my experience:</p><p><strong>Quality assurance:</strong> A sub-agent exclusively responsible for quality assurance checks against specified guidelines and documentation. It does not advise; it validates. This is essentially TDD thinking at the agent level &#8212; explicit standards instead of intuition.</p><p><strong>UI design:</strong> I achieve significantly better results when designing user interfaces with a specialized design sub-agent. I specify the direction the design should take and which design principles apply. The agent generates designs within these guidelines instead of working in a vacuum.</p><p>In both cases, the lever is the specialized context and the focused system prompt of the sub-agent, not the general intelligence of the model.</p><h3>Validating coherence</h3><p>Yes, LLM output has misled me before. In fact, it was precisely because it sounded plausible. The coherence was there, but the truth was not.</p><p>My validation process is two-stage. First, I verify what I can myself. For everything else, I use specialized sub-agents with internet access that can verify facts. However, it&#8217;s crucial to note that ultimately, humans remain responsible. The sub-agents are tools, not decision-makers.</p><p>Hallucinations don&#8217;t like to stay alone. Where one thing is wrong, other things are often invalid.</p><h3>Keeping an eye on structure</h3><p>When does generated code become problematic? Most obviously, when source code files become too large. There are too many lines. Too much functionality in individual functions.</p><p>My approach: I let almost everything be generated. If I want to make changes, I let the agent adapt and then check it. Experience shows that this is faster than writing it myself, unless the changes are minor restructuring or corrections. In that case, I intervene directly.</p><p>However, I am responsible for the structure. I decide when a file becomes too large, when functionality needs to be split up, and what the architecture and refactorings should look like. I usually define the architecture before coding begins and document it in Markdown files.</p><h3>The real problem is communication</h3><p>Ultimately, humans must decide if what has been generated is good enough. Human judgment is indispensable because only humans can determine if they have received what they wanted.</p><p>Here lies an uncomfortable truth: Even with AI, the problem is often communication. The question is not &#8220;Can AI do that?&#8221; but &#8220;Can I articulate what I want?&#8221; This is not a new insight&#8212;anyone who has ever written requirements knows this. But with Agentic Coding, it becomes immediately apparent.</p><h3>Not balance, but a pendulum</h3><p>Is there a perfect balance between trying things out quickly and understanding what I&#8217;m doing? I don&#8217;t think so. It&#8217;s more like swinging back and forth.</p><p>I try out ideas to see if they lead to reasonable results. At the latest, I need to understand what I&#8217;m doing when I&#8217;m convinced of the direction and want to check its viability for the future.</p><p>That&#8217;s more honest than any best practice. Practices are still evolving. Anyone who claims to have found the optimal workflow today will be working differently in six months.</p><h2>The open question</h2><p>The core architectural question of our time remains: Where do we place people in the decision-making process?</p><p>This is not a technical question. It is a question of organization, responsibility, and design. Every organization must answer it for itself&#8212;consciously, rather than implicitly through tool adoption.</p><p>As of today, my answer is: People decide on the structure, validate the results, and take responsibility. Agents generate, specialize, and accelerate. The boundary is not fixed; it shifts with every learning experience.</p><p>That is precisely what makes this such an interesting time.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Complex or complicated: What's the difference?]]></title><description><![CDATA[Without understanding this elementary difference, you will not reach your goal]]></description><link>https://blog.fluxum.net/p/complex-or-complicated-whats-the</link><guid isPermaLink="false">https://blog.fluxum.net/p/complex-or-complicated-whats-the</guid><dc:creator><![CDATA[Martin Gross]]></dc:creator><pubDate>Fri, 13 Sep 2024 12:26:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!YpZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recognizing whether a problem is of a complicated or complex nature is a necessary prerequisite for finding a solution.</p><p>A distinction is often not made in everyday language:</p><blockquote><p>This is a complex problem.</p><p>It's a complicated system.</p></blockquote><p>Some people use complex as the intensified form of complicated. A complex problem would then be a more complicated problem.</p><h3>A fundamental difference</h3><p>The difference between a complex system and a complicated system is of a fundamental nature.</p><p>It is not a quantitative difference, but a qualitative one. This is because they behave differently. The complicated system is predictable, the complex system is unpredictable and reacts unexpectedly to changes. </p><h3>What is complicated?</h3><p>Complicated is a system that is difficult to get an overview of. Nevertheless, the complicated system can be understood by analyzing the individual parts.</p><p>For example, a mixing console is not immediately obvious to the layman. But with the help of a specialist or an instruction manual, you can learn to understand the functions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YpZt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YpZt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265540,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YpZt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 424w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 848w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!YpZt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fc71f80ea-c1f1-43d7-9ab3-7a67a75b8878_1920x1282.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Photo by <a href="https://unsplash.com/@chuttersnap?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">chuttersnap</a></h6><p></p><p>Complicated therefore has something to do with not knowing and a lack of comprehensibility. </p><blockquote><p>Complexity is the measure of our ignorance. A problem (or: "unignorable event") is complicated because we do not understand it. Because we lack knowledge. This can be remedied by cramming or acquiring knowledge.</p></blockquote><p>Roberto Poli <a href="https://www.cadmusjournal.org/files/pdfreprints/vol2issue1/reprint-cj-v2-i1-complex-vs-complicated-systems-rpoli.pdf">writes</a>:</p><blockquote><p>&#8222;Complicated problems originate from causes that can be individually distinguished; they can be addressed piece&#173;-by-&#173;piece; for each input to the system there is a proportionate output; the relevant systems can be controlled and the problems they present admit permanent solutions.&#8220;</p></blockquote><p>Solutions can be found for complicated systems that will work again and again and deliver the same effect. The solutions are reproducible.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/p/complex-or-complicated-whats-the?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Teilen&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/p/complex-or-complicated-whats-the?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Teilen</span></a></p><h3>Complex</h3><p>Complexity means unpredictability. Complexity is the measure of the number of surprises you have to reckon with.</p><p>There is no simple cause-and-effect relationship. The influencing factors can influence or even reverse each other through interactions and feedback effects.</p><p>Complex means:</p><p>Outputs are not proportional or linear to inputs; small changes in one part of the system can cause unexpected outputs in other parts of the system or a system-wide reorganization.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Y4SP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:383208,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Y4SP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Y4SP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb04f22f-8762-433b-9185-6455cea9ee05_1920x1280.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h6>Photo by <a href="https://unsplash.com/@hikeshaw?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">H Shaw</a></h6><p></p><p>Complex systems such as organizations can behave completely differently despite the same measures. The same solution that worked for one system may fail completely elsewhere. Solutions are not transferable.</p><p></p><blockquote><p>Complexity is like the weather. There is nothing wrong with it. It's just bad not to be prepared for it. &#8212;  &#187;<a href="https://www.m-vg.de/mediafiles/Leseprobe/9783868815863.pdf">Komplexithoden</a>&#171;</p></blockquote><p></p><p><a href="https://en.wikipedia.org/wiki/Complex_system">Examples</a> for complex systems:</p><ul><li><p>the earth's global climate</p></li><li><p>social and economic organizations (such as companies and cities)</p></li><li><p>Ecosystems</p></li></ul><p></p><p>Roberto Poli <a href="https://www.cadmusjournal.org/files/pdfreprints/vol2issue1/reprint-cj-v2-i1-complex-vs-complicated-systems-rpoli.pdf">adds</a>:</p><blockquote><p>&#8222;Complex problems and systems result from networks of multiple interacting causes that cannot be individually distinguished; must be addressed as entire systems, that is they cannot be addressed in a piecemeal way; they are such that small inputs may result in disproportionate effects; the problems they present cannot be solved once and for ever, but require to be systematically managed and typically any intervention merges into new problems as a result of the interventions dealing with them.&#8220;</p></blockquote><p></p><p>Surprisingly, most systems are complex in nature. Only complicated systems are the exception.</p><h3>Various solution approaches</h3><p>The solution to a complex problem cannot be approached in the same way as the solution to a complicated problem. They require different solution strategies.</p><p>Complicated systems can be analyzed and predictions can be made about the behavior of the system. Experts can help with this. Solutions can be reused.</p><p>Complex systems, on the other hand, defy an understanding of the overall relationships, as the factors influence each other. </p><blockquote><p>&#8222;The distinction between complicated and complex systems is of immense importance, yet it is often overlooked. Decision-makers commonly mistake complex systems for simply complicated ones and look for solutions without realizing that &#8216;learning to dance&#8217; with a complex system is definitely different from &#8216;solving&#8217; the problems arising from it.&#8220;</p></blockquote><p>If you handle complex things as if they were complicated, <a href="https://sloanreview.mit.edu/article/the-critical-difference-between-complex-and-complicated/">you are doomed to failure</a>.</p><p>Complexity means that there can be a certain degree of control; but it is not complete control, the situation is not fully controllable. By recognizing patterns, some relationships can be understood.</p><p>In a complex environment, you cannot expect a comprehensive plan or strategy to work as intended. An approach of trying, learning and adapting is more likely to get you further. Mistakes can be made and risks can be taken.</p><p>However, you shouldn't make big bets on large projects or invest too much in comprehensive plans, but instead constantly learn in small steps and make appropriate adjustments.</p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.fluxum.net/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.fluxum.net/subscribe?"><span>Jetzt abonnieren</span></a></p><div><hr></div><p>&#8212; <a href="https://twitter.com/MartinGross">Martin Gross</a></p>]]></content:encoded></item></channel></rss>