<?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[Popular AI | Independent local AI & hardware analysis]]></title><description><![CDATA[Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.]]></description><link>https://www.popularai.org</link><image><url>https://substackcdn.com/image/fetch/$s_!ea4m!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png</url><title>Popular AI | Independent local AI &amp; hardware analysis</title><link>https://www.popularai.org</link></image><generator>Substack</generator><lastBuildDate>Thu, 12 Nov 2026 01:31:12 GMT</lastBuildDate><atom:link href="https://www.popularai.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Popular Media]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[popularai@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[popularai@substack.com]]></itunes:email><itunes:name><![CDATA[Popular AI]]></itunes:name></itunes:owner><itunes:author><![CDATA[Popular AI]]></itunes:author><googleplay:owner><![CDATA[popularai@substack.com]]></googleplay:owner><googleplay:email><![CDATA[popularai@substack.com]]></googleplay:email><googleplay:author><![CDATA[Popular AI]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Study of 7.2 million papers: AI breakthroughs may be exhausting their own ideas]]></title><description><![CDATA[Researchers tracked papers, peer reviews, and scientist migration. Their findings raise questions about how much room AI leaves for new ideas.]]></description><link>https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas</link><guid isPermaLink="false">https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Mon, 09 Nov 2026 01:13:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!DqNK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DqNK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DqNK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DqNK!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2829408,&quot;alt&quot;:&quot;AI breakthroughs may concentrate research attention and make unfamiliar ideas harder to explore&quot;,&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://www.popularai.org/i/224088178?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="AI breakthroughs may concentrate research attention and make unfamiliar ideas harder to explore" title="AI breakthroughs may concentrate research attention and make unfamiliar ideas harder to explore" srcset="https://substackcdn.com/image/fetch/$s_!DqNK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!DqNK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7213af68-628a-4d52-be6d-cf2ce4940e13_1672x941.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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Successful AI architectures may draw attention away from the ideas needed for the next breakthrough. <em>AI-modified</em> &#169; <a href="https://popularai.org">Popular AI</a></figcaption></figure></div><p>AI research keeps growing. But researchers may be spending more of that effort pursuing the same ideas. A <a href="https://arxiv.org/abs/2610.27296">study of 7.2 million computer-science papers</a> suggests that major AI breakthroughs can draw attention toward winning approaches so powerfully that the diversity of ideas available for the next discovery starts to shrink.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>That is a troubling possibility for a field increasingly organized around transformers and large language models. It is still a hypothesis about scientific research, not evidence that transformers have hit a technical ceiling or that AI models are improving more slowly.</p><div><hr></div><h3>How the researchers measured AI&#8217;s growing concentration</h3><p>In an October 19, 2026 preprint, Beichen Lu, Honglin Bao, Qi Huang, Qingguo Meng and James A. Evans examine computer-science research published between 1990 and 2025. Their dataset includes 7,180,635 papers, 73,089 peer reviews and the publication histories of approximately 3.7 million researchers.</p><p>The researchers measure which subjects attract attention, how scientists move between research subfields and how the vocabulary of published work changes. For each abstract, they identify prominent keywords, then calculate how unevenly attention is distributed across them. They also use nouns in abstracts as markers for potential research ideas.</p><p>One measure of attention concentration, the Gini coefficient, <a href="https://arxiv.org/abs/2610.27296">rose from 0.26 to 0.33 between 2017 and 2025</a>. The higher number indicates that attention was distributed less evenly among research keywords. During roughly the same period, AI&#8217;s share of computer-science papers increased from about 40% to more than 55%.</p><p>The migration data show a similar pull. Of 918,862 recorded moves between research subfields, 53.81% ended in AI. Those are observed changes in researchers&#8217; main subjects, not evidence that 53.81% of all computer scientists abandoned their specialties.</p><p>Peer review offers another signal. Among reviews sampled from 45 venues, average reviewer confidence fell from 3.9 to 2.9 on a venue-normalized 0-to-5 scale between 2017 and 2025. The authors suggest that matching papers to suitable experts may have become more difficult as AI expanded. Falling confidence scores alone cannot identify the cause.</p><p>Each measurement captures a different part of the research system. Taken together, they suggest that computer science is becoming more concentrated around AI, even while the field produces more papers and attracts more people.</p><div id="youtube2-1GbDTTK3aR4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1GbDTTK3aR4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1GbDTTK3aR4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Why breakthroughs might shorten the life of research ideas</h3><p>The paper describes a recurring cycle around AlexNet in 2012, the transformer architecture in 2017 and the rise of large language models. A breakthrough creates new possibilities and attracts researchers. Fresh terminology and projects proliferate. Over time, much of the community gathers around improving the successful approach, while other lines of inquiry receive less sustained attention.</p><p>To study that pattern, the authors treat each distinct, stable noun found in paper abstracts as a potential idea. A noun becomes established after appearing in at least 10 papers in each of two consecutive years. If it fails to meet that threshold for three consecutive years, the model treats the idea as inactive. It can later return.</p><p>That method allows the authors to count the appearance, disappearance and revival of research terminology across decades. Their fitted curves suggest that successive breakthroughs raise the estimated capacity for active ideas, but are also followed by sharper declines from that modeled potential. They report a comparable cycle in structural biology after cryo-electron microscopy and AlphaFold.</p><div id="youtube2-r4-hXO7MLVU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;r4-hXO7MLVU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/r4-hXO7MLVU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The proposed mechanism is plausible. Once a powerful architecture takes hold, researchers can publish improvements using familiar tools, shared benchmarks and established assumptions. An unfamiliar approach may initially perform worse on those tests, even if it has strengths that could become useful later. It needs time, funding and reviewers willing to evaluate a different hypothesis.</p><p>The authors also simulate a peer-review system in which prolific submitters take on more reviewing work. Under the model&#8217;s assumptions, that arrangement gives established, highly active researchers more influence over which topics receive approval. It does not prove that existing conference review policies created the historical concentration.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Why the study cannot prove AI is running out of discoveries</h3><p>The paper&#8217;s most important limitation is its definition of an idea. A noun can help track changes in scientific language, but it is not the same thing as a scientific concept. Researchers can develop genuinely new methods using familiar words. A fashionable term can also spread widely without representing a meaningful discovery.</p><p>The authors test alternative ways of extracting nouns and noun phrases, which strengthens their claim that the statistical pattern is present in the text. It does not resolve the harder question of whether those vocabulary patterns accurately measure the quality or originality of science.</p><p>Timing also complicates the argument. Transformer research grew during a period of increasing computing capacity, investment and commercial demand for AI. The study cannot isolate the transformer architecture as the cause of the shift in research attention, or establish that concentrating attention will delay a future breakthrough.</p><p>The authors acknowledge that the period following the newest LLM advances is too short for a definitive conclusion. Their research-idea &#8220;carrying capacity&#8221; is a fitted curve, not a physical limit on what AI systems can discover. The dataset concentrates on English-language computer-science papers with abstracts, while much unpublished industrial research remains outside its reach.</p><p>Other work raises related questions using different evidence. A <a href="https://www.aeaweb.org/articles?id=10.1257/aer.20180338">2020 American Economic Review study</a> found that research effort rose while research productivity declined in several settings. A <a href="https://www.nature.com/articles/s41586-022-05543-x">2023 Nature analysis</a> reported that scientific papers and patents became less disruptive by citation-based measures. Neither result independently establishes the causal story proposed in this new preprint.</p><div><hr></div><h3>Could transformer dominance make the next AI breakthrough harder?</h3><p>It could. When funding, talent and evaluation benchmarks favor extensions of one successful architecture, researchers have weaker incentives to pursue approaches that look unpromising on today&#8217;s tests. Leading AI models might improve rapidly while less conventional ideas remain underdeveloped.</p><p>That does not mean competing architectures have disappeared. <a href="https://arxiv.org/abs/2312.00752">Mamba uses selective state-space models</a> to process sequences without conventional transformer attention. It represents a genuine alternative line of research, although its existence alone says little about whether the research community gives competing approaches enough support.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/thisissouvikk/status/1886578900886806619&quot;,&quot;full_text&quot;:&quot;<span class=\&quot;tweet-fake-link\&quot;>#ICLR2025</span> <span class=\&quot;tweet-fake-link\&quot;>#mamba</span> <span class=\&quot;tweet-fake-link\&quot;>#longcontextLLM</span> <span class=\&quot;tweet-fake-link\&quot;>#SSM</span>\n&#128640;&#128640;Can Mamba be extended to support long context data without training or tuning of the pre-trained weights?\n\nTo answer this intriguing and pressing question we did a bit digging in to the:\n\n&#128073;General understanding of Mamba towards long &#8230;&quot;,&quot;username&quot;:&quot;thisissouvikk&quot;,&quot;name&quot;:&quot;SOUVIK KUNDU&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1506819155193868290/t4OJUKis_normal.jpg&quot;,&quot;date&quot;:&quot;2025-02-04T00:53:55.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/Gi53_pQXUAAY30g.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/SfRU9JqrRZ&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:3,&quot;retweet_count&quot;:1,&quot;like_count&quot;:9,&quot;impression_count&quot;:383,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>There is also a gap between the productivity of a research community and the capabilities of the systems it builds. More papers, more automated experiments and faster iteration do not guarantee more useful discoveries. We have explored a related measurement problem in <a href="https://www.popularai.org/p/openai-3-1-agent-workdays-research-productivity">OpenAI&#8217;s reported use of AI-agent workdays</a>: activity is easier to count than validated scientific progress.</p><p>For funders and labs, the question is whether promising alternatives can obtain time, computing resources and serious evaluation. Conferences face a similar challenge when assigning reviewers to unfamiliar ideas. For researchers, improving a dominant benchmark and testing a genuinely different hypothesis are both useful work, but they develop a field in different ways.</p><div><hr></div><h4><em><strong>More on AI-assisted research:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ced956bd-7f39-4a59-92f7-aeaf52d2d405&quot;,&quot;caption&quot;:&quot;OpenAI&#8217;s research organization is now running 3.1 eight-hour-equivalent agent workdays for every human workday. That sounds close to saying AI has made OpenAI research three times faster.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;OpenAI now runs 3.1 AI-agent workdays for every human research day. Is AI actually accelerating AI research?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-09-11T14:03:01.040Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!PpDU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F01b9d63e-31d9-4a88-9c33-52f121fe5a51_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/openai-3-1-agent-workdays-research-productivity&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:215036709,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>What to watch before calling AI research exhausted</h3><p>The new preprint makes a reasonable case for tracking the diversity of research attention alongside model performance, publication volume and research spending. But vocabulary-based measures should be checked against direct evidence of novel methods, independent replication and whether unconventional research directions survive long enough to be tested fairly.</p><p>The strongest conclusion is still conditional. Concentrating research around transformers could make the next departure from transformers harder to discover. The authors have documented a suggestive pattern, not the breakthroughs that never happened. Keeping room for experiments outside today&#8217;s winning approaches is a sensible response to that uncertainty, especially when the cost of overlooking an unusual idea may be visible only much later.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/ai-breakthroughs-exhaust-research-ideas/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Reverse-engineer your first video game with local AI: a complete Windows guide to REA and Ghidra]]></title><description><![CDATA[Reverse-engineer your first game on Windows with local AI only. Learn how to mod a classic 90s DOS vertical shooter with a local agent, REA and Ghidra.]]></description><link>https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra</link><guid isPermaLink="false">https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Sat, 07 Nov 2026 03:53:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!AZ6Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AZ6Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Reverse-engineer OpenTyrian&#8217;s firing logic with local AI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Reverse-engineer OpenTyrian&#8217;s firing logic with local AI" title="Reverse-engineer OpenTyrian&#8217;s firing logic with local AI" srcset="https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!AZ6Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74ecade9-2228-4bdf-93fe-9435cbf4d0ae_1600x900.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Use local AI to trace OpenTyrian&#8217;s firing logic &#183; <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Use a local AI agent to replace Tyrian&#8217;s standard starting Pulse-Cannon with the Zica Laser, then compare how the weapon looks, fires, and sounds. You&#8217;ll analyze the Windows executable with Ghidra and Reverse Engineer Anything (REA), create a reversible weapon swap, and verify the files it changes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Tyrian, the 1995 vertical-scrolling shooter, gives you a good first target. Pick a single front weapon in Episode 1 and you can see the effect of a successful change as soon as you hold down fire. You can follow the investigation through the agent&#8217;s tool results even if you haven&#8217;t read assembly before.</p><p>You run the setup, check what the agent did, and play both copies. The agent uses local Qwen inference to follow the loader and firing logic, map those findings to the right data record, and write a patcher and a short evidence report. Keep the original copy handy: it&#8217;s your comparison run, your source of known-good bytes, and your recovery path if the mod breaks.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">1. </span>The Windows reverse-engineering toolchain</h2><p>Start with a Windows 11 x64 PC. Ollama runs Qwen3.8 27B on the GPU for local reasoning, coding, and tool use. OpenCode is the coding agent that runs commands and works with project files. REA connects OpenCode to binary-analysis tools, and Ghidra examines the machine code in OpenTyrian 2.1 and reconstructs pseudocode. Python and standard Windows utilities handle the reversible patch and verification.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sQOg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sQOg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 424w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 848w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 1272w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sQOg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp" width="1440" height="1162" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1162,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Windows toolchain for reverse-engineering OpenTyrian&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Windows toolchain for reverse-engineering OpenTyrian" title="The Windows toolchain for reverse-engineering OpenTyrian" srcset="https://substackcdn.com/image/fetch/$s_!sQOg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 424w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 848w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 1272w, https://substackcdn.com/image/fetch/$s_!sQOg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F883a3bb7-08c6-4985-87b9-9deee5da89f9_1440x1162.webp 1456w" sizes="100vw"></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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The Windows toolchain for reverse-engineering OpenTyrian &#183; &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>The main analysis and modding tools are open source, and the <a href="https://huggingface.co/Qwen/Qwen3.8-27B">Qwen3.8 27B weights use the Apache 2.0 license</a>.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Why use OpenTyrian on Windows?</h3><p>The original Tyrian runs as a DOS program. REA can <a href="https://github.com/morluto/rea/blob/main/docs/ghidra-dos.md">analyze DOS MZ executables on supported hosts</a>. For this native Windows workflow, use an <a href="https://github.com/morluto/rea/blob/main/docs/windows-ghidra-p0.md">x64 Windows PE executable within REA&#8217;s experimental Ghidra support boundary</a>. The original <code>TYRIAN.EXE</code> falls outside that Windows boundary.</p><p><a href="https://github.com/opentyrian/opentyrian">OpenTyrian is a native port of Tyrian that uses the freeware Tyrian 2.1 game data</a>. Its Windows build gives us a suitable executable and the original gameplay data in the same package. Tell the agent to treat the executable as a black box and leave the C source alone during the investigation. Later, it can check its findings against the data format documentation. That sequence lets you practice the same analysis you would use on a game whose source was unavailable, with a reference to check your work afterward.</p><p>You can work from Windows PowerShell and keep model inference local throughout the tutorial. Ghidra runs headlessly through REA, so you can follow the evidence in OpenCode without having to learn Ghidra&#8217;s desktop interface first.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">2. </span>Choose the right hardware and local AI model</h2><p>A reverse-engineering agent has to follow function calls, interpret decompiled pseudocode, and keep its place across a long sequence of tool calls. A model that can answer a short coding question may still lose track of which binary it opened or which record it has verified.</p><p>For this tutorial, aim for a single GPU with 24 to 32 GB of VRAM, such as an <a href="https://www.popularai.org/p/rtx-3090-vs-rtx-4090-vs-rtx-5090-local-ai">RTX 4090</a> or <a href="https://www.popularai.org/p/rtx-5090-local-ai-memory-bandwidth-vram">RTX 5090</a>, plus <a href="https://www.popularai.org/p/how-much-ram-for-comfyui">64 GB of system RAM</a> and at least <a href="https://www.popularai.org/p/local-ai-ssd-storage">30 GB free on an SSD</a>. Treat those figures as a setup recommendation. A fast CPU helps with Ghidra&#8217;s analysis, while the GPU has to hold both the model and the working context you give it.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Run Qwen3.8 27B locally</h3><p>The <a href="https://ollama.com/library/qwen3.8:27b">Ollama build of Qwen3.8 27B supports tool calling and reasoning and downloads at about 18 GB</a>. The model supports up to roughly 256K tokens of context, but that capacity and the download size measure different things. The context allocation adds runtime memory demand beyond the stored weights, so an 18 GB download gives you no guarantee that the 64K profile will stay fully on a 24 GB GPU.</p><p><a href="https://ollama.com/library/qwen3-coder-next">Qwen3-Coder-Next is an 80B-parameter mixture-of-experts coding model with a roughly 52 GB default Ollama download</a>. It makes more sense on a multi-GPU machine or one with a large memory pool. Start with Qwen3.8 27B on a 24 or 32 GB GPU.</p><p>We&#8217;ll ask Ollama for 65,536 tokens, then check what it actually allocates and where the model runs. If other apps are taking up VRAM or the model spills heavily onto the CPU, the 32K fallback below gives the agent a better chance of staying responsive. In that case, save findings after each stage and ask for specific tool results so the conversation has less to carry.</p><div><hr></div><h4><em><strong>More on local AI hardware:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;503ebece-f1c5-426e-be7f-a836389995c6&quot;,&quot;caption&quot;:&quot;If you are comparing the RTX 3090 vs RTX 4090 vs RTX 5090 for local AI, start with VRAM before speed. Local LLMs, ComfyUI graphs, FLUX workflows, LoRA training, and coding agents all punish the same mistake: buy&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;RTX 5090 vs RTX 4090 vs RTX 3090: which wins for local AI?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-04T14:04:00.746Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!GMHc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10111ac7-acf6-42b9-8d72-fe593c580e85_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/rtx-3090-vs-rtx-4090-vs-rtx-5090-local-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:204452995,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;03d4d612-fa84-4c78-a97d-34086b711853&quot;,&quot;caption&quot;:&quot;The RTX 5090 changes the local AI conversation because it makes memory bandwidth feel less like the first bottleneck. According to NVIDIA&#8217;s RTX 5090 specifications, the GeForce flagship gives local users 32GB of GDDR7, a 51&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The RTX 5090 for local AI: fast bandwidth, same VRAM wall&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-19T20:26:30.784Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!xrcs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4e996957-7795-4a41-b675-22764884f2f4_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/rtx-5090-local-ai-memory-bandwidth-vram&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:202193195,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d00c1ccd-af86-4340-818d-00ac9ef2f4b6&quot;,&quot;caption&quot;:&quot;A ComfyUI crash on a powerful PC can send you shopping for the wrong upgrade. Many image workflows still run comfortably with 32GB of system RAM. Move to 64GB when repeated runs exhaust host memory, and consider 96GB for demanding video or multit&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;32GB vs 64GB vs 96GB RAM for ComfyUI: when should you upgrade?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-11-01T04:45:40.417Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!XCk7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/how-much-ram-for-comfyui&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:222571726,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;27c20dee-1f04-4db2-85fe-9da310437c86&quot;,&quot;caption&quot;:&quot;If you are building a local AI PC, 2TB of NVMe storage is the sensible starting point for most people, while 4TB is the better long-term choice for serious local AI use. Spend money on capacity before c&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How much SSD storage do you need for local AI? NVMe vs SATA vs HDD explained&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-08-18T13:47:03.781Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nd2N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd041d998-466c-4b3f-9ada-a5a8513e12d1_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-ai-ssd-storage&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:211214542,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3. </span>Install the local AI runtime</h2><p>Set up local inference and test it from PowerShell before connecting it to OpenCode. This gives you a separate check for the model server if the agent later fails to see it.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3.1. </span>Install <strong>Ollama</strong></h3><p>Run the <a href="https://ollama.com/download/windows">Ollama Windows installer</a>. Ollama should start its local inference service after installation.</p><p>Open Windows Terminal or PowerShell and type:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;9a9a5f54-71b4-4ffd-ab4a-35f5d220ac83&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama --version</code></pre></div><p>Next, confirm its local service is available:</p><pre><code><code>Invoke-RestMethod http://127.0.0.1:11434/api/tags</code></code></pre><p>A successful response shows the locally installed model inventory, which may initially be empty.</p><blockquote><p>If PowerShell cannot recognize <code>ollama</code>, reopen the terminal after installation. If the connection is refused, launch Ollama from the Start menu.</p></blockquote><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3.2. </span>Download <strong>Qwen3.8 27B</strong></h3><p>In PowerShell:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;f34962c2-e712-49c1-be05-54702ce4c5ef&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama pull qwen3.8:27b</code></pre></div><p>Ollama downloads the model to your computer.</p><p>Once installed, run a quick test:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;403fa27a-eec4-41db-8ab2-7e3b566a6bfa&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama run qwen3.8:27b</code></pre></div><p>Ask:</p><pre><code><code>Explain what a machine-code disassembler does in two sentences.</code></code></pre><p>A coherent answer confirms that Ollama can generate a response with the downloaded model.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sZ_H!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sZ_H!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 424w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 848w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 1272w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!sZ_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png" width="763" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:763,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93433,&quot;alt&quot;:&quot;Qwen3.8 27B explains machine-code disassembly during the first local AI reverse-engineering test.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6951452-8586-4352-a2de-e968c628967b_765x431.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Qwen3.8 27B explains machine-code disassembly during the first local AI reverse-engineering test." title="Qwen3.8 27B explains machine-code disassembly during the first local AI reverse-engineering test." srcset="https://substackcdn.com/image/fetch/$s_!sZ_H!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 424w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 848w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 1272w, https://substackcdn.com/image/fetch/$s_!sZ_H!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2bb5b86d-dc8c-4420-961e-8c10e08fdf9c_763x427.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Testing Qwen3.8 locally before connecting it to the game reverse-engineering workflow.</figcaption></figure></div><p>You&#8217;ll test tool calling separately. Type <code>/bye</code> to exit the interactive session.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3.3. </span>Give the agent enough context</h3><p>A local model can advertise a large maximum context window while the inference server uses a much smaller allocation. That can cause coding agents to forget earlier findings or fail during longer tool-driven tasks.</p><p>We&#8217;ll create a dedicated Ollama profile that requests the highest context available.</p><p>In PowerShell:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;9523f3f3-8c5d-4f44-9a6e-8e8de33ed159&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">@'
FROM qwen3.8:27b
PARAMETER num_ctx 262144
RENDERER qwen3.5
'@ | Set-Content -Encoding utf8 "$HOME\tyrian-coder.Modelfile"

ollama create tyrian-coder -f "$HOME\tyrian-coder.Modelfile"
</code></pre></div><blockquote><p>If you are running qwen3.8:27b with 16GB VRAM or less, try setting <code>PARAMETER num_ctx</code> to <code>32768</code>. If you have 24GB VRAM available, setting <code>PARAMETER num_ctx</code> at <code>65536</code> should work fine. With 32GB VRAM or more, you should be able to run it with <code>PARAMETER num_ctx</code> at <code>131072</code> or, on higher-end GPUs, <code>262144</code> context.</p></blockquote><p>This Modelfile creates a named model configuration called <code>tyrian-coder</code>, using the downloaded Qwen3.8 weights.</p><p>Verify it:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;7874b1f0-e719-460e-adf8-391174b6a1ae&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama show tyrian-coder --modelfile</code></pre></div><p>Look for <code>PARAMETER num_ctx</code> and verify that it is set at the number your Modelfile specifies:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XAf_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XAf_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 424w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 848w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 1272w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!XAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png" width="761" height="427" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:427,&quot;width&quot;:761,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:90841,&quot;alt&quot;:&quot;Ollama confirms the tyrian-coder model's 65,536-token context configuration for reverse engineering.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ffb73f7-a11a-4610-9666-81083f982270_779x444.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ollama confirms the tyrian-coder model's 65,536-token context configuration for reverse engineering." title="Ollama confirms the tyrian-coder model's 65,536-token context configuration for reverse engineering." srcset="https://substackcdn.com/image/fetch/$s_!XAf_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 424w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 848w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 1272w, https://substackcdn.com/image/fetch/$s_!XAf_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fec65ac4e-44a9-402c-b93f-19df0319332e_761x427.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">A dedicated Ollama model profile gives the coding agent more context for binary analysis.</figcaption></figure></div><p>Then load it:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;d3a57621-2282-48e2-8ce6-3ce2528454d8&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama run tyrian-coder "Reply READY."</code></pre></div><p>Inspect the loaded model:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;54676aa6-1ccb-4b43-8804-eff87efa57f7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">ollama ps</code></pre></div><p>Ideally, the processor column should show full GPU execution rather than substantial CPU offloading. Check the reported context length here as well:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!PQQE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!PQQE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 424w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 848w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 1272w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!PQQE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png" width="761" height="336" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:336,&quot;width&quot;:761,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56935,&quot;alt&quot;:&quot;Ollama runs tyrian-coder entirely on the GPU with a 65,536-token context window.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ollama runs tyrian-coder entirely on the GPU with a 65,536-token context window." title="Ollama runs tyrian-coder entirely on the GPU with a 65,536-token context window." srcset="https://substackcdn.com/image/fetch/$s_!PQQE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 424w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 848w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 1272w, https://substackcdn.com/image/fetch/$s_!PQQE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb4df8d1-0891-4939-867a-919c4ed0f2e5_761x336.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Confirming GPU execution and context allocation before starting the OpenTyrian investigation.</figcaption></figure></div><blockquote><p>If you encounter out-of-memory errors, recreate the profile with <code>32768</code> instead of <code>65536</code>.</p></blockquote><p>Prioritize a responsive GPU-backed session. The agent has to read a tool result, reason about it, and make another request dozens of times. A slow response at each turn adds up, even when every individual query succeeds.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4. </span>Install <strong>OpenCode</strong>, our local AI coding interface</h2><p><a href="https://opencode.ai/v2/docs">OpenCode V2 gives the model a terminal, project file tools, and MCP access</a>. That lets the model request a Ghidra operation, read what comes back, and write a patch script once it has evidence. The guide uses the terminal interface. You can open the same project in the graphical desktop app if you prefer.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4.1. </span>Install <strong>Node.js</strong></h3><p>Use the <a href="https://nodejs.org/en/download">Node.js download page to pick a supported release</a>, or install the current LTS release through PowerShell and check the version afterward.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;6a223c76-16f9-4570-9ef5-e84c0c1f3c66&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">winget install --id OpenJS.NodeJS.LTS --exact</code></pre></div><p>Close and reopen PowerShell, then verify:</p><pre><code><code>node --version
npm --version</code></code></pre><p>For REA&#8217;s native Windows Ghidra provider, check your installed Node version against the Windows support guide linked above. Within the 24.x series the documented minimum is 24.22.1.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bhhl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bhhl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 424w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 848w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 1272w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bhhl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png" width="762" height="318" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:318,&quot;width&quot;:762,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:74892,&quot;alt&quot;:&quot;PowerShell verifies Node.js and npm installations required to run OpenCode on Windows.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PowerShell verifies Node.js and npm installations required to run OpenCode on Windows." title="PowerShell verifies Node.js and npm installations required to run OpenCode on Windows." srcset="https://substackcdn.com/image/fetch/$s_!Bhhl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 424w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 848w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 1272w, https://substackcdn.com/image/fetch/$s_!Bhhl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad64f1e8-7608-4aa4-a66a-48d7c39ee387_762x318.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Node.js and npm provide the runtime needed to install the local AI coding agent.</figcaption></figure></div><blockquote><p>If the LTS install lands on an older patch release, update Node before setting up REA. A Node version that runs npm can still fall below the provider&#8217;s minimum.</p></blockquote><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4.2. </span>Install OpenCode V2</h3><p>Run the documented npm install from PowerShell. If npm&#8217;s postinstall cannot supply the Windows binary, download the standalone Windows x64 CLI from the same OpenCode V2 page, extract it to a directory on your PATH, and reopen PowerShell. Verify that the command resolves to V2 before creating the project configuration.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;2a511247-5442-4ac6-921e-5ea8e1c513fc&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">npm install --global @opencode/cli</code></pre></div><p>Verify:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;3c7bf962-3060-474b-a75b-7d26cd26397b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">opencode --version</code></pre></div><p>Launch OpenCode:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;d3bf3a64-b49a-4ffb-a8ee-94f0ee4ca535&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">opencode</code></pre></div><p>You should see its terminal-based conversation interface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8V5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8V5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 424w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 848w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8V5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png" width="873" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:873,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:27333,&quot;alt&quot;:&quot;OpenCode V2 launches as the coding-agent interface for AI-assisted game reverse engineering.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode V2 launches as the coding-agent interface for AI-assisted game reverse engineering." title="OpenCode V2 launches as the coding-agent interface for AI-assisted game reverse engineering." srcset="https://substackcdn.com/image/fetch/$s_!L8V5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 424w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 848w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 1272w, https://substackcdn.com/image/fetch/$s_!L8V5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528668be-f71c-4e31-b1fa-82dfcbeedec2_873x561.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">OpenCode coordinates the local AI model, project files, and reverse-engineering tools.</figcaption></figure></div><p>Use the project configuration and model selector documented for V2. If you&#8217;re coming from <a href="https://dev.opencode.ai/docs/">OpenCode&#8217;s earlier configuration reference</a>, recheck the provider and MCP settings for the version you actually launched.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/opencode/status/2109649032931119362&quot;,&quot;full_text&quot;:&quot;OpenCode 2.0\n&quot;,&quot;username&quot;:&quot;opencode&quot;,&quot;name&quot;:&quot;OpenCode&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1973794620233433088/nBn75BTm_normal.png&quot;,&quot;date&quot;:&quot;2026-10-12T14:14:59.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:298,&quot;retweet_count&quot;:566,&quot;like_count&quot;:8391,&quot;impression_count&quot;:865419,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://anoma.ly/notes/opencode-2-0/&quot;,&quot;title&quot;:&quot;OpenCode 2.0&quot;,&quot;description&quot;:&quot;OpenCode 2.0.&quot;,&quot;domain&quot;:&quot;anoma.ly&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2117944445114966016/uv85ABIL?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4.3. </span>Connect OpenCode to Ollama</h3><p>OpenCode V2 <a href="https://opencode.ai/v2/docs/providers/#ollama">discovers completion models on the default local Ollama endpoint</a>. Leave Ollama running while you configure the agent.</p><p>Start OpenCode and open its model selector:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;b8ee3f54-de5b-41a3-bb44-7d18c96ebc72&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">/models</code></pre></div><p>Select <code>tyrian-coder:latest</code>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JZjX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JZjX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 424w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 848w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 1272w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!JZjX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png" width="875" height="561" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3eee93ec-54a4-4749-81b7-343382800db6_875x561.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:561,&quot;width&quot;:875,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49213,&quot;alt&quot;:&quot;OpenCode selects the custom tyrian-coder Ollama model for local game reverse engineering.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode selects the custom tyrian-coder Ollama model for local game reverse engineering." title="OpenCode selects the custom tyrian-coder Ollama model for local game reverse engineering." srcset="https://substackcdn.com/image/fetch/$s_!JZjX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 424w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 848w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 1272w, https://substackcdn.com/image/fetch/$s_!JZjX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3eee93ec-54a4-4749-81b7-343382800db6_875x561.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Connecting OpenCode to the configured Qwen3.8 model keeps AI inference local.</figcaption></figure></div><p>If it doesn&#8217;t appear immediately, check that Ollama is running and that <code>ollama list</code> shows the model. Reopen OpenCode to refresh detection.</p><p>You can also make it the default model for this project by creating an <code>opencode.json</code> configuration file, but we&#8217;ll do that in a later step.</p><p>Check that the selected model resolves to the local service at <code>127.0.0.1:11434</code> by opening another PowerShell tab and running:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;522a586a-8c52-4477-8abe-f47ec0abad07&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Invoke-RestMethod http://127.0.0.1:11434/api/tags</code></pre></div><p>If Ollama is running correctly, PowerShell will display information about the locally installed models:</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!O0S_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 424w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 848w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 1272w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!O0S_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png" width="900" height="207" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:207,&quot;width&quot;:900,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:23643,&quot;alt&quot;:&quot;PowerShell confirms the tyrian-coder model is available through Ollama's local API.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PowerShell confirms the tyrian-coder model is available through Ollama's local API." title="PowerShell confirms the tyrian-coder model is available through Ollama's local API." srcset="https://substackcdn.com/image/fetch/$s_!O0S_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 424w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 848w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 1272w, https://substackcdn.com/image/fetch/$s_!O0S_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcc9e5613-df8d-4a9a-885e-ce7f1c9d3988_900x207.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div><figcaption class="image-caption">Verifying that OpenCode can access the locally installed model before binary analysis.</figcaption></figure></div><p>After the software and weights are on disk, this model can run inference without an internet connection. Keep the agent on local analysis tools during the experiment.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/ollama/status/2088314436088168491&quot;,&quot;full_text&quot;:&quot;Qwen 3.8 27B is now available on Ollama. \n\nIt's one of the best open models at this size, and made for agentic tasks and professional work. \n\nTry it directly with the apps &amp;amp; harnesses you use: \n\nClaude Code: \nollama launch claude --model qwen3.8 \n\nOpenCode: \nollama launch &#8230;&quot;,&quot;username&quot;:&quot;ollama&quot;,&quot;name&quot;:&quot;ollama&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2045273960666071040/rCjCIwiC_normal.jpg&quot;,&quot;date&quot;:&quot;2026-08-14T17:18:55.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HPstE5ObIAAywUx.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/sjtlmmDJ8n&quot;,&quot;alt_text&quot;:&quot;Ollama and Qwen partners to make Qwen 3.8 27B amazing! &quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:101,&quot;retweet_count&quot;:184,&quot;like_count&quot;:1861,&quot;impression_count&quot;:178469,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">5. </span>Install <strong>Ghidra</strong></h2><p>Ghidra is the NSA&#8217;s open-source reverse-engineering suite. Its decompiler represents machine instructions as C-like pseudocode. The agent can use that output to follow code from the data loader to the routine that decides when the next volley can fire. REA gives OpenCode access to Ghidra&#8217;s headless analysis.</p><div id="youtube2-UOBW_FEcRdo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UOBW_FEcRdo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/UOBW_FEcRdo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">5.1. </span>Install Java</h3><p>Ghidra needs a full Java Development Kit. Install the 64-bit Eclipse Temurin JDK 21 from a fresh PowerShell tab and verify that both the runtime and compiler commands work.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;368f691b-81a5-4e5b-8fca-9bd35ae2af9b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">winget install --id EclipseAdoptium.Temurin.21.JDK --exact</code></pre></div><p>Reopen PowerShell, then check:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;79fe3a49-baf0-4b16-834e-eb3bb7a774b0&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">java -version
javac -version</code></pre></div><p>Both should work.</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LTFs!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 424w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 848w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 1272w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!LTFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png" width="846" height="185" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:185,&quot;width&quot;:846,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:45466,&quot;alt&quot;:&quot;Java 17 and its compiler are installed for running Ghidra on Windows.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe89a01e-10e3-4bdc-90ec-3d6943b5ba29_846x189.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Java 17 and its compiler are installed for running Ghidra on Windows." title="Java 17 and its compiler are installed for running Ghidra on Windows." srcset="https://substackcdn.com/image/fetch/$s_!LTFs!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 424w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 848w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 1272w, https://substackcdn.com/image/fetch/$s_!LTFs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4ab47a6-fbcb-4606-b7f8-003c59e7b03d_846x185.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div><figcaption class="image-caption">Ghidra requires a working Java environment before REA can analyze game executables.</figcaption></figure></div><p>If <code>javac</code> is missing, locate your installed JDK under:</p><pre><code><code>C:\Program Files\Eclipse Adoptium\</code></code></pre><p>You will need its exact folder path during REA setup.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">5.2. </span>Download <strong>Ghidra</strong></h3><p>Download <a href="https://github.com/NationalSecurityAgency/ghidra/releases">Ghidra 12.1.4 from the official releases</a>. The REA Windows guide identifies this build as verified. If you choose a different 12.1.x release, adjust the paths throughout the guide and check it with <code>rea doctor</code>.</p><p>Extract it to:</p><pre><code><code>C:\Tools\</code></code></pre><p>The resulting directory should resemble:</p><pre><code><code>C:\Tools\ghidra_12.1.4_PUBLIC\</code></code></pre><p>Inside it, confirm that this file exists:</p><pre><code><code>support\analyzeHeadless.bat</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0nmR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0nmR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 424w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 848w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 1272w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0nmR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png" width="1116" height="603" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:603,&quot;width&quot;:1116,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86190,&quot;alt&quot;:&quot;Ghidra's analyzeHeadless.bat enables automated Windows executable analysis through REA.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad718622-9a3b-461c-a36b-07ebe49b2cbd_1116x605.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ghidra's analyzeHeadless.bat enables automated Windows executable analysis through REA." title="Ghidra's analyzeHeadless.bat enables automated Windows executable analysis through REA." srcset="https://substackcdn.com/image/fetch/$s_!0nmR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 424w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 848w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 1272w, https://substackcdn.com/image/fetch/$s_!0nmR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa8bdfa6d-9ca0-49df-a3dc-d6260ca6f0a1_1116x603.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Ghidra's headless analyzer lets the AI agent investigate binaries without the desktop interface.</figcaption></figure></div><p>You don&#8217;t have to open Ghidra&#8217;s graphical interface. REA uses Ghidra&#8217;s headless analysis facilities.</p><p>If the launcher is missing after extraction, check the archive layout against the <a href="https://github.com/NationalSecurityAgency/ghidra">Ghidra installation instructions</a> before setting the provider path.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">6. </span>Install <strong>Reverse Engineer Anything</strong> and connect it to OpenCode</h2><p>Reverse Engineer Anything <a href="https://reverseengineeranything.app/">connects coding agents to reverse-engineering tools through the Model Context Protocol (MCP)</a>. In this setup, you give OpenCode a task and it runs the Qwen model through Ollama. When the model requests a binary-analysis operation, OpenCode invokes the REA MCP server. REA manages the session, calls Ghidra headlessly, and returns evidence such as strings, cross-references, and decompiled functions.</p><p>REA&#8217;s Ghidra integration on Windows is read-only. Use it to investigate the baseline executable, then let OpenCode&#8217;s file and terminal tools create a reversible patch for the working copy. The verification report should identify every changed file and explain whether the chosen weapon-swap method changes game data, executable code, or both.</p><div id="youtube2-PxvpxO6p-hg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PxvpxO6p-hg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PxvpxO6p-hg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>REA connects AI coding agents to Ghidra to inspect compiled executables and recover readable code.</em></p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">6.1. </span>Install <strong>REA</strong></h3><p>Open PowerShell from your home directory:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;b2bc368a-dfa4-47fd-b1fd-c5cd9b0d3394&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Set-Location $HOME
npm install --global rea-agents</code></pre></div><p>Verify:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;0c7ded0a-e66f-454c-a296-f3d68f4267ff&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">rea --version</code></pre></div><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">6.2. </span><strong>Tell REA</strong> where Ghidra and Java are installed</h3><p>Set the exact paths in PowerShell. Adjust these to match your machine.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;a6b9b8ef-7bd8-492a-930b-72d956f2742d&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">$env:GHIDRA_INSTALL_DIR = "C:\Tools\ghidra_12.1.4_PUBLIC"
$env:JAVA_HOME = "C:\Program Files\Eclipse Adoptium\jdk-21.0.x-hotspot"</code></pre></div><blockquote><p>The folder paths above are illustrative. Replace them with your <strong>actual </strong>Ghidra and JDK directories, and pay extra attention to getting the installed version number correct.</p></blockquote><p>Check both paths:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;161a8103-ed0e-4226-a3f6-7121dcae5058&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Test-Path "$env:GHIDRA_INSTALL_DIR\support\analyzeHeadless.bat"

Test-Path "$env:JAVA_HOME\bin\javac.exe"</code></pre></div><p>Both should return <code>True</code> before you continue.</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rQS3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 424w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 848w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 1272w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!rQS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png" width="855" height="168" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:168,&quot;width&quot;:855,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38508,&quot;alt&quot;:&quot;PowerShell confirms the Ghidra headless analyzer and Java compiler paths are valid.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PowerShell confirms the Ghidra headless analyzer and Java compiler paths are valid." title="PowerShell confirms the Ghidra headless analyzer and Java compiler paths are valid." srcset="https://substackcdn.com/image/fetch/$s_!rQS3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 424w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 848w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 1272w, https://substackcdn.com/image/fetch/$s_!rQS3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83a74bef-1a7f-4562-8c02-d7c3266aea45_855x168.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div><figcaption class="image-caption">Checking both dependencies prevents configuration failures during AI-assisted binary analysis.</figcaption></figure></div><p>Now let REA inspect the installation:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;454f6879-4fd9-4608-8cbf-d6bbcd93adf2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">rea doctor --provider ghidra --json</code></pre></div><p>The report should identify a usable Ghidra provider.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FFpD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FFpD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 424w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 848w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 1272w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!FFpD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png" width="852" height="281" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:281,&quot;width&quot;:852,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40511,&quot;alt&quot;:&quot;REA health checks confirm Ghidra 12.1.4 and its headless analyzer are available.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="REA health checks confirm Ghidra 12.1.4 and its headless analyzer are available." title="REA health checks confirm Ghidra 12.1.4 and its headless analyzer are available." srcset="https://substackcdn.com/image/fetch/$s_!FFpD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 424w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 848w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 1272w, https://substackcdn.com/image/fetch/$s_!FFpD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb0d07cc6-97fb-4593-bdda-70022f52b297_852x281.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">REA verifies the Ghidra installation before the agent opens the OpenTyrian executable.</figcaption></figure></div><p>If it reports a missing Java executable, unsupported Ghidra version, or missing native decompiler, fix the reported prerequisite before continuing.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">6.3. </span>Register <strong>REA </strong>with OpenCode</h3><p>With the environment variables still set in the same PowerShell session, run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;4cbce94b-bd2d-40c8-9dbb-ff9c5f992852&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">rea setup --client opencode</code></pre></div><p>REA presents a setup plan. Review the directories, environment variables, MCP registration, and workflow instructions it proposes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0rIr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0rIr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 424w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 848w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 1272w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0rIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png" width="1023" height="557" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:557,&quot;width&quot;:1023,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122623,&quot;alt&quot;:&quot;REA prepares its OpenCode MCP integration and reverse-engineering skill installation.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78319b6c-3ec6-4bcb-9af0-6b475c9d0fe2_1023x561.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="REA prepares its OpenCode MCP integration and reverse-engineering skill installation." title="REA prepares its OpenCode MCP integration and reverse-engineering skill installation." srcset="https://substackcdn.com/image/fetch/$s_!0rIr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 424w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 848w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 1272w, https://substackcdn.com/image/fetch/$s_!0rIr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb3e8c3f3-2efc-430f-be71-8d9e39e8de0c_1023x557.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">REA connects OpenCode to binary-analysis tools while preserving existing configuration.</figcaption></figure></div><p>Approve the appropriate configuration.</p><p><a href="https://github.com/morluto/rea/blob/main/docs/client-configuration.md">REA can register its MCP server for OpenCode V2 and install its investigation skill</a>. Close any existing OpenCode session, then start it from PowerShell with the same Java and Ghidra paths set. If you use a new terminal, set those variables there first unless you have configured them persistently.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">6.4. </span>Verify the <strong>MCP </strong>connection</h3><p>In PowerShell:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;92323cd2-cd25-4e2c-90f4-ac5557988da5&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">rea doctor --client opencode --json</code></pre></div><p>Then check the client itself:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;91516b9d-e648-4026-822d-6f24fae95c09&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">opencode mcp list</code></pre></div><p>You should see a connected server named <code>rea</code>.</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Tfj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 424w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 848w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 1272w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Tfj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png" width="723" height="138" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:138,&quot;width&quot;:723,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:21068,&quot;alt&quot;:&quot;OpenCode confirms the REA MCP server is connected and ready for game binary analysis.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode confirms the REA MCP server is connected and ready for game binary analysis." title="OpenCode confirms the REA MCP server is connected and ready for game binary analysis." srcset="https://substackcdn.com/image/fetch/$s_!0Tfj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 424w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 848w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 1272w, https://substackcdn.com/image/fetch/$s_!0Tfj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb44492e4-1bf2-40e9-b502-9fdc24dacd35_723x138.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div><figcaption class="image-caption">A successful MCP connection allows the local AI agent to access REA's analysis tools.</figcaption></figure></div><p>This confirms the agent-side connection. We&#8217;ll verify a real Ghidra analysis shortly.</p><p>If you only see a grouped tool interface, check how <a href="https://opencode.ai/v2/docs/mcp-servers/">OpenCode exposes MCP operations in Code Mode</a>. The connection check tells you that the server is present. The first-look exercise below checks whether the model can actually use it to get evidence from Ghidra.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">7. </span>Download Tyrian and prepare a safe workspace</h2><p>Download the <a href="https://github.com/opentyrian/opentyrian/releases/tag/v2.1.20260913">Windows x64 ZIP for OpenTyrian v2.1.20260913</a>, the September 2026 release used in this walkthrough. The release archive includes the freeware Tyrian 2.1 data. Choose x64 for the Windows and REA setup described here.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">7.1. </span>Separate the baseline, mod, and evidence</h3><p>We&#8217;ll keep an untouched baseline, a playable modded copy, and a workspace for the agent&#8217;s scripts and discoveries.</p><p>Open PowerShell and run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;96960c57-6f82-45ed-88b6-c0f8d001a8b1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">$root = "C:\TyrianRE"

New-Item -ItemType Directory -Force `
  "$root\baseline", `
  "$root\modded", `
  "$root\tools", `
  "$root\findings" | Out-Null</code></pre></div><p>Extract the downloaded OpenTyrian ZIP into <code>C:\TyrianRE\baseline</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZNfS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZNfS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 424w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 848w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 1272w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZNfS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png" width="966" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/95bf8330-a880-46a1-88e9-8c9405671836_966x609.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:966,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:75968,&quot;alt&quot;:&quot;The OpenTyrian baseline folder preserves the original Windows executable and game data.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F477e88c1-88bc-45e7-a776-7aa7df4baed0_966x612.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The OpenTyrian baseline folder preserves the original Windows executable and game data." title="The OpenTyrian baseline folder preserves the original Windows executable and game data." srcset="https://substackcdn.com/image/fetch/$s_!ZNfS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 424w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 848w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 1272w, https://substackcdn.com/image/fetch/$s_!ZNfS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F95bf8330-a880-46a1-88e9-8c9405671836_966x609.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Keeping an untouched OpenTyrian copy provides a reliable reference for reversible modifications.</figcaption></figure></div><p>Ensure the game executable ends up directly at:</p><pre><code><code>C:\TyrianRE\baseline\opentyrian.exe</code></code></pre><p>If the ZIP contains an extra enclosing directory, move its contents up one level.</p><p>Now, in PowerShell, make a complete working copy:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;7da7a19f-be9d-4ffc-a3ad-92536faae715&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Copy-Item "C:\TyrianRE\baseline\*" `
  -Destination "C:\TyrianRE\modded" `
  -Recurse -Force</code></pre></div><p>Inside <code>C:\TyrianRE</code>, <code>baseline</code> holds the original installation and <code>modded</code> holds the playable copy the agent can change. The other two folders, <code>tools</code> and <code>findings</code>, can stay empty for now. Later in the tutorial, our AI agent will automatically fill them with the files it creates while investigating and modifying the game. You won&#8217;t need to write any of that code yourself.</p><p>Keeping the <code>baseline</code> and <code>modded</code> directories separate gives you an original file for byte comparisons and a working game you can restore without downloading the archive again.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">7.2. </span>Verify the installation</h3><p>Check the files:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;38853008-e543-4c7b-ac2c-076a11a98d8e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Test-Path "C:\TyrianRE\baseline\opentyrian.exe"

Get-ChildItem "C:\TyrianRE\baseline" `
  -Filter "tyrian.hdt" -Recurse</code></pre></div><p>The first command should return <code>True</code>. The second should locate a game data file named <code>tyrian.hdt</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZRri!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZRri!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 424w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 848w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 1272w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZRri!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png" width="720" height="372" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:372,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55353,&quot;alt&quot;:&quot;PowerShell confirms OpenTyrian's executable and tyrian.hdt weapon-data file are present.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PowerShell confirms OpenTyrian's executable and tyrian.hdt weapon-data file are present." title="PowerShell confirms OpenTyrian's executable and tyrian.hdt weapon-data file are present." srcset="https://substackcdn.com/image/fetch/$s_!ZRri!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 424w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 848w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 1272w, https://substackcdn.com/image/fetch/$s_!ZRri!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a90c5a3-36b9-4850-8dfc-2bab14ba2e3a_720x372.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Identifying the executable and gameplay data establishes the files needed for reverse engineering.</figcaption></figure></div><p>Now record the executable&#8217;s original checksum:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;30be5c66-8b57-4423-b390-c47fb2c3cd2c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Get-FileHash `
  "C:\TyrianRE\baseline\opentyrian.exe" `
  -Algorithm SHA256</code></pre></div><p>A SHA-256 hash is a fingerprint of the file. It allows us to confirm exactly which version the agent analyzed and whether it was changed afterward.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">8. </span>Tell OpenCode which files it can modify</h2><p>Before we let our AI agent investigate Tyrian, we&#8217;ll give it a few ground rules. We want the agent to examine the original game without accidentally changing it, and to keep its experiments inside our project folder.</p><p>OpenCode supports a special file called <code>AGENTS.md</code>. It contains instructions for the AI agent. When you start OpenCode inside a project folder, it automatically reads that project&#8217;s instructions. You don&#8217;t need to paste them into every conversation.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">8.1. </span>Create the instructions file</h3><p>Open PowerShell and enter:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;31ca45de-2e09-4067-ba77-9ef4758a1315&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">notepad C:\TyrianRE\AGENTS.md</code></pre></div><p>If Notepad asks whether to create the file, click Yes.</p><p>Copy the following text into Notepad:</p><pre><code><code># Tyrian reverse-engineering project

You are helping me reverse-engineer and modify Tyrian
using REA and Ghidra.

Follow these rules throughout this project:

1. The baseline folder contains the original game.
   You may read files in this folder, but never
   modify, delete, or overwrite them.

2. The modded folder contains the copy of the game
   that we will experiment with. You may modify
   files here.

3. Save any programs or scripts you create in
   the tools folder.

4. Save your reverse-engineering findings, notes,
   and reports in the findings folder.

5. Use the local AI model and local analysis tools.
   Do not send game files or analysis data to cloud
   AI services.

6. Do not download or execute unknown programs
   without asking me first.

7. Ask for my approval before deleting files,
   changing anything outside C:\TyrianRE, or
   performing potentially destructive operations.

8. Use REA and Ghidra to investigate the compiled
   game. Do not consult OpenTyrian's public source
   code to discover the solution.

9. Verify your modifications and explain what
   changed. Never claim a test succeeded unless
   you actually performed it.</code></code></pre><p>Save the file and close Notepad.</p><p>That&#8217;s it. The next time OpenCode starts inside <code>C:\TyrianRE</code>, it will automatically load these instructions. This behavior is documented in <a href="https://dev.opencode.ai/v2/docs/instructions/">OpenCode&#8217;s project instructions guide</a>.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">8.2. </span>Make OpenCode ask before making potentially risky changes</h3><p>Instructions tell the AI what we want, but they aren&#8217;t a technical security barrier. OpenCode also has a permissions system that controls when it must ask for approval.</p><p>Open our existing configuration:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;6ee5c097-3e32-418a-aeeb-aa56bcd4f673&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">notepad C:\TyrianRE\opencode.json</code></pre></div><p>Copy-paste these contents into the file:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;f5fdd9c8-86a4-48b9-a43b-214b867d5a29&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">{
  "$schema": "https://opencode.ai/config.json",
  "model": "ollama/tyrian-coder:latest",
  "permissions": [
    {
      "action": "edit",
      "resource": "baseline/*",
      "effect": "deny"
    },
    {
      "action": "shell",
      "resource": "*",
      "effect": "ask"
    },
    {
      "action": "external_directory",
      "resource": "*",
      "effect": "ask"
    },
    {
      "action": "webfetch",
      "resource": "*",
      "effect": "deny"
    },
    {
      "action": "websearch",
      "resource": "*",
      "effect": "deny"
    }
  ]
}</code></pre></div><p>Save and close Notepad.</p><p>These settings tell OpenCode to block its built-in file-editing tools from modifying <code>baseline</code>, ask before executing terminal commands or accessing locations outside the project, and disable its built-in web search and web-fetch tools.</p><p>The shell-command approval is especially important. A command executed through PowerShell can still modify the original game if you approve it. The <code>baseline</code> restriction on OpenCode&#8217;s file-editing tools does not, by itself, protect against every possible shell command or external MCP tool.</p><p>The settings above use <a href="https://dev.opencode.ai/v2/docs/permissions/">OpenCode V2&#8217;s current permissions format</a>, which differs from examples written for older versions.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">8.3. </span>Start OpenCode</h3><p>In PowerShell, enter:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;273989e2-44fd-4512-96b7-08af74e35cc0&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">cd C:\TyrianRE
opencode</code></pre></div><p>That&#8217;s all you need to do. OpenCode reads <code>AGENTS.md</code> automatically, and the permissions in <code>opencode.json</code> are applied to the project.</p><p>For a quick check, you can ask the agent:</p><pre><code><code>Before we begin, summarize the project rules
you have been given. Which folders may you modify,
and which folder must remain untouched?</code></code></pre><p>It should correctly identify <code>baseline</code> as the original, <code>modded</code> as the working copy, and <code>tools</code> and <code>findings</code> as the places to store its work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ke1K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ke1K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 424w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 848w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ke1K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png" width="891" height="1101" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1101,&quot;width&quot;:891,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214428,&quot;alt&quot;:&quot;OpenCode confirms read-only baseline rules and separate folders for game modifications and findings.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode confirms read-only baseline rules and separate folders for game modifications and findings." title="OpenCode confirms read-only baseline rules and separate folders for game modifications and findings." srcset="https://substackcdn.com/image/fetch/$s_!Ke1K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 424w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 848w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!Ke1K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5afdf45-3704-4ec0-a808-8184289b5e28_891x1101.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Project rules protect the original game while allowing the AI agent to create reversible patches.</figcaption></figure></div><p>When OpenCode later asks permission to run a command, review what it intends to do. Approve ordinary analysis commands and clearly understood modifications to the working copy. Reject commands that unexpectedly modify the baseline, access unrelated folders, or download software.</p><p>Close OpenCode by typing <code>/exit</code>.</p><p>You can now continue to the first REA and Ghidra test.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">9. </span><strong>Play </strong>the original game once</h2><p>Back in PowerShell, run the baseline game:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;09866d9e-177b-45be-a115-1a7dcc5c8c6d&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Set-Location "C:\TyrianRE\baseline"
.\opentyrian.exe</code></pre></div><p>Start a new single-player <code>Full Game</code> in Episode 1 using the <code>standard Pulse-Cannon</code> front weapon.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eIiV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eIiV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 424w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 848w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 1272w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eIiV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png" width="637" height="428" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:428,&quot;width&quot;:637,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:149832,&quot;alt&quot;:&quot;OpenTyrian's front-weapon selection identifies the Pulse-Cannon used for the baseline gameplay test.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F24838406-7aa2-4a62-aa7c-6dbcf1cb312c_641x432.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenTyrian's front-weapon selection identifies the Pulse-Cannon used for the baseline gameplay test." title="OpenTyrian's front-weapon selection identifies the Pulse-Cannon used for the baseline gameplay test." srcset="https://substackcdn.com/image/fetch/$s_!eIiV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 424w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 848w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 1272w, https://substackcdn.com/image/fetch/$s_!eIiV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F238370e4-843c-4c72-8ced-503ecadd15a3_637x428.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The starting Pulse-Cannon provides a reference for comparing weapon changes in OpenTyrian.</figcaption></figure></div><p>Watch the Pulse-Cannon&#8217;s projectile appearance and firing pattern, listen to its sound, and check the generator during sustained fire. Record a short clip with audio so you can compare this baseline with the Zica Laser replacement later.</p><p>Use the same starting equipment and weapon power level for the later comparison. A screenshot or a short video of continuous firing can help establish a baseline.</p><p>Close the game before proceeding.</p><p>The two copies can share settings and saves under <code>%APPDATA%\OpenTyrian</code>. This release can use the executable&#8217;s directory for settings and saves if <code>opentyrian.cfg</code> is already present there. After we modify the game, for a straightforward comparison, start a fresh Episode 1 game in each copy and match the difficulty, equipment, power level, and starting generator.</p><div id="youtube2-ajaLO_vmEJg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ajaLO_vmEJg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ajaLO_vmEJg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>Tyrian's original gameplay provides a visual reference before testing our Pulse-Cannon and Zica Laser swap.</em></p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">10. </span>Give OpenCode <strong>access </strong>to the project</h2><p>Return to PowerShell:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;f332431f-e611-4cf9-8461-005a2f670964&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Set-Location "C:\TyrianRE"</code></pre></div><p>Now launch OpenCode from that directory:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;9925035d-06dd-484d-a2e6-e28c06bc5a72&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">opencode</code></pre></div><p>Alternatively, open the folder in OpenCode Desktop.</p><p>The project directory is important because the agent will be able to read the game files, create scripts in <code>tools</code>, and write its investigation results to <code>findings</code>.</p><blockquote><p>Review OpenCode&#8217;s permission prompts if/when they appear. These project boundaries are instructions to the agent. Check the working directory and target paths on write or execution requests, especially when PowerShell commands use relative paths.</p></blockquote><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">11. </span><strong>Test </strong>whether the AI can actually operate Ghidra</h2><p>Before asking the model to reverse-engineer game mechanics, we&#8217;ll give it a smaller assignment.</p><p>Paste this into OpenCode:</p><pre><code><code>We are working locally on Windows in C:\TyrianRE.

Use the connected REA MCP server to inspect
C:\TyrianRE\baseline\opentyrian.exe
with provider_id ghidra.

First check binary_session and provider availability.
Then call open_binary, request a binary_overview,
and identify the executable architecture, entry
point, imported libraries, and a few significant
strings.

Use actual REA tool calls. Do not guess from
filenames or prior knowledge.

Do not examine the public source code.
Do not modify any files.

Save a concise report in findings\first-look.md
including the file SHA-256 and observed
Ghidra/REA evidence.

Close the binary session when finished.</code></code></pre><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">11.1. </span>Check the first Ghidra tool results</h3><p>The agent should discover the REA tools, open the executable with Ghidra, and retrieve analysis results.</p><p>You should see actual tool activity, rather than a generic explanation of how Ghidra works.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eV1a!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eV1a!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 424w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 848w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!eV1a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png" width="887" height="1101" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1101,&quot;width&quot;:887,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:211147,&quot;alt&quot;:&quot;OpenCode uses REA and Ghidra to identify and analyze the original OpenTyrian Windows executable.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode uses REA and Ghidra to identify and analyze the original OpenTyrian Windows executable." title="OpenCode uses REA and Ghidra to identify and analyze the original OpenTyrian Windows executable." srcset="https://substackcdn.com/image/fetch/$s_!eV1a!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 424w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 848w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!eV1a!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14bbbed7-3442-4dab-a49b-7c04b97291b2_887x1101.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The local AI agent verifies the executable's hash before investigating its compiled game logic.</figcaption></figure></div><p>REA&#8217;s operations include <code>open_binary</code>, <code>binary_overview</code>, <code>search_strings</code>, function analysis, cross-references, and memory inspection.</p><p>Ghidra may spend some time importing and analyzing the executable on the first query. Opening a binary through REA selects the target; it doesn&#8217;t necessarily mean the analysis engine has completed initialization.</p><p>Open <code>findings\first-look.md</code> and compare it with the visible tool results. It should identify the provider, executable, architecture, entry point, and at least a few imports or strings returned by Ghidra. The prompt&#8217;s final report is the intended output file. Keep the game directories unchanged during this check.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zncN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zncN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 424w, https://substackcdn.com/image/fetch/$s_!zncN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 848w, https://substackcdn.com/image/fetch/$s_!zncN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!zncN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!zncN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png" width="891" height="1101" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1101,&quot;width&quot;:891,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:159026,&quot;alt&quot;:&quot;OpenCode shows a successful Ghidra overview of the baseline executable.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="OpenCode shows a successful Ghidra overview of the baseline executable." title="OpenCode shows a successful Ghidra overview of the baseline executable." srcset="https://substackcdn.com/image/fetch/$s_!zncN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 424w, https://substackcdn.com/image/fetch/$s_!zncN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 848w, https://substackcdn.com/image/fetch/$s_!zncN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 1272w, https://substackcdn.com/image/fetch/$s_!zncN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d53b9e5-1772-432c-87d6-5f5196e51cde_891x1101.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">A real Ghidra tool result confirms the OpenTyrian connection. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>If the agent merely explains what Ghidra could do, tell it:</p><pre><code><code>I don&#8217;t want a simulated analysis. Invoke the installed REA tools. If a tool is unavailable, report the actual error and its proposed fix.</code></code></pre><p>Do not proceed until a genuine analysis succeeds. You may have to tell the agent to continue what it was doing if responses exceed the token limit.</p><div id="youtube2-OFAxXXcLXbc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;OFAxXXcLXbc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/OFAxXXcLXbc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>Ghidra reconstructs useful pseudocode and references from compiled binaries, which the local AI agent can investigate through REA.</em></p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">12. </span><strong>Replace </strong>the Pulse-Cannon with the Zica Laser</h2><p>Our first idea was to make the Pulse-Cannon fire faster. In practice, that was a disappointing demonstration. A small change in firing frequency was difficult to judge once the screen filled with enemies and projectiles.</p><p>We gave the agent a more obvious objective. Replace the standard Pulse-Cannon with the game&#8217;s existing Zica Laser. In our run, the weapon looked, fired, and sounded noticeably different. You could recognize the change as soon as you pressed fire.</p><p>That gives us a better first reverse-engineering project. The agent has to identify two existing weapons, trace how the game selects their behavior, and make the starting weapon use the Zica Laser. The result gives you something clear to compare in the baseline and modified copies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VTZV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VTZV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 424w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 848w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 1272w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!VTZV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp" width="1440" height="690" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:690,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Replace OpenTyrian&#8217;s starting Pulse-Cannon with the existing Zica Laser.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Replace OpenTyrian&#8217;s starting Pulse-Cannon with the existing Zica Laser." title="Replace OpenTyrian&#8217;s starting Pulse-Cannon with the existing Zica Laser." srcset="https://substackcdn.com/image/fetch/$s_!VTZV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 424w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 848w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 1272w, https://substackcdn.com/image/fetch/$s_!VTZV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf881a34-a730-4a97-ab76-dd13983b10ed_1440x690.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The Zica Laser swap changes the starting weapon&#8217;s look, firing, and sound. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">12.1. </span><strong>Trace </strong>how the game selects a weapon</h3><p>OpenTyrian&#8217;s <a href="https://github.com/opentyrian/opentyrian/blob/master/doc/tyrian.hdt.txt">weapon-port records refer to shot patterns for different power levels and firing modes</a>. Those patterns contain timing, projectile graphics references, and a sound field. Power use is recorded in the weapon-port definition.</p><p>The agent needs to connect the player&#8217;s equipped front weapon to those records. Finding the text &#8220;Zica Laser&#8221; is a starting point. It still has to establish which definition the game uses, how that definition leads to the shots on screen, and where the firing sound comes from.</p><p>Ask it to trace both the original Pulse-Cannon and the Zica Laser before proposing a patch. The change should reproduce the existing Zica weapon&#8217;s appearance, firing behavior, and sound in the starting front-weapon position. Let the evidence determine whether that means changing the equipped weapon selection or the data it resolves to.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">12.2. </span>Give the swap a clear acceptance test</h3><p>Start a fresh Episode 1 game in each copy, with the same difficulty, ship, starting power level, and audio settings. Fire in the same part of the opening level.</p><p>The baseline should still produce the ordinary Pulse-Cannon. In the modified copy, compare the projectile appearance, firing pattern, and sound. Check that the weapon can fire, that the generator behaves sensibly, and that the game still loads and plays.</p><p>Keep a short recording with audio from each run. Those clips make the result much easier to assess than trying to remember whether a familiar gun fired slightly faster.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">13. </span>Give OpenCode the Zica Laser assignment</h2><p>Once the first-look exercise confirms that REA and Ghidra work, give the agent a complete weapon-swap assignment.</p><p>The model should investigate the executable, resolve the weapon definitions, and produce the patch. Your part is to review its evidence and compare the two playable copies.</p><p>Paste this into OpenCode.</p><pre><code><code>Work locally in C:\TyrianRE with the connected REA MCP server
and Ghidra.

Goal: Replace the standard starting Pulse-Cannon with the game's
existing Zica Laser in a fresh Episode 1 story game. The modified
front weapon should use the Zica Laser's projectile appearance,
firing behavior, and sound.

Start with the baseline loadout and power level. Use actual REA
calls to trace weapon selection, the Pulse-Cannon and Zica Laser
definitions, their shot-pattern references, and the code that
uses them. Leave the public C source alone during discovery.
Use the tyrian.hdt format reference afterward as a cross-check.

Record the analyzed build, file paths, SHA-256 hashes, relevant
code addresses, weapon identifiers, and record mappings in
findings\analysis.md. Derive all identifiers and offsets from
this build. Do not guess them.

Choose the smallest verified change that achieves the full swap.
Explain whether it changes player equipment selection, weapon
data, executable code, or a combination. Check for shared records
and effects on other weapons. Preserve the existing Zica Laser
definition and unrelated gameplay wherever the chosen method
allows. Report any unavoidable wider effects before applying it.

Create tools\patch_tyrian.py and a verification script. Preserve
the baseline and modify only the working copy under modded.
Check expected original bytes and structure before writing.
Reject unexpected input and handle an already-patched copy
without applying the modification twice. Provide an undo path.

Save a patch manifest under findings with the exact changed files,
computed offsets, old and new values, and byte differences.
Verify the baseline is intact and the differences match the
manifest. Report whether the executable changed and why.

Give me the command to launch the modified copy and a short manual
test comparing the Pulse-Cannon and Zica Laser at the same starting
power level. Ask me to compare appearance, firing pattern, and
sound, then check energy use and normal gameplay.

Write only under modded, tools, and findings. Ask before destructive
or out-of-project actions. If evidence is missing, report the
specific gap before patching. Separate verified file changes from
gameplay results I still need to check.

Close the Ghidra binary session when finished.</code></code></pre><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">13.1. </span>Ask for the evidence behind the replacement</h3><p>The report should explain how the game gets from the starting loadout to the weapon it actually fires. Have the agent show where it identified the Pulse-Cannon, where it identified the Zica Laser, and which part of that selection path the patch changes.</p><p>If the proposed patch only changes a weapon name or a firing-delay value, send it back to the stated objective. You should be able to connect the modification to the Zica projectile pattern and sound before launching the game.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">13.2. </span>Why the prompt is this specific</h3><p>Each stage gives you something concrete to inspect. The binary trace explains where the game gets the timing value. The record mapping explains which bytes belong to the equipped weapon. The manifest shows what the script actually changed. If the file fails the layout or original-value check, stop and revisit the mapping with a clean copy.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">14. </span><strong>Check </strong>that the agent found the complete weapon behavior</h2><p>Start with the loader and the weapon selection path. The agent should show actual REA results connecting the compiled program to its weapon data, then resolve the front weapon used by the fresh Episode 1 loadout.</p><p>Next, have it identify the Zica Laser&#8217;s corresponding definition and shot patterns for the power level you are testing. Ask which references account for projectile appearance, firing behavior, and sound, and how the patched selection will reach them.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LnvV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LnvV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 424w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 848w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 1272w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!LnvV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp" width="1440" height="850" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:850,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Trace the selected weapon to its shot patterns, graphics, sound, and energy use.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Trace the selected weapon to its shot patterns, graphics, sound, and energy use." title="Trace the selected weapon to its shot patterns, graphics, sound, and energy use." srcset="https://substackcdn.com/image/fetch/$s_!LnvV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 424w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 848w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 1272w, https://substackcdn.com/image/fetch/$s_!LnvV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feafc8089-9e70-401c-b64b-5f9e74d2bb3a_1440x850.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Trace both weapon definitions before patching the starting loadout. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">14.1. </span><strong>Check</strong> the relationships between records</h3><p>The name displayed in a menu can help identify an entry, but gameplay follows the weapon and pattern references. Verify those references through the compiled program.</p><p>A swap can also expose differences in energy use or upgrade behavior. Ask the agent to record what the proposed method does to the starting power level and generator demand. Any adjustment beyond the weapon replacement should be identified separately in the manifest.</p><p>If the patch changes a shared record, the report should identify the other weapons, modes, or power levels that use it. Review those effects before accepting the modification.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">14.2. </span>If the <strong>agent gets stuck</strong></h3><p>Bring it back to the two weapons and the selected loadout.</p><pre><code><code>Continue from findings\analysis.md and the existing REA evidence.
Do not repeat completed investigation work.

Resolve the baseline front-weapon selection for a fresh Episode 1
story game, then identify the Pulse-Cannon and Zica Laser records
and their shot-pattern references at the tested power level.

Trace how those references reach projectile graphics, firing
behavior, and sound. Check energy use separately.

Explain the smallest verified change that makes the starting
front weapon behave as the existing Zica Laser.

Write the confirmed mapping and remaining uncertainty to the
report before editing files. Do not settle for renaming the
weapon or changing its firing interval.</code></code></pre><p>Once the mapping is complete, the patcher should be able to check the original state and explain each proposed change. A report that jumps from a weapon-name match to a guessed offset needs more investigation.</p><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">15. </span><strong>Apply </strong>the Zica Laser replacement and compare the result</h2><p>Review the manifest before running the modified game. It should identify the exact OpenTyrian build and original file hashes, the starting front-weapon selection, the Pulse-Cannon and Zica Laser definitions, and the references or bytes the patch changes.</p><p>Require the old values, replacement values, computed file offsets, and an explanation for every changed file. Record whether file lengths changed and whether that was expected. The restore instructions should identify the clean files or original bytes needed to undo the swap.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!g0bR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!g0bR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 424w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 848w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 1272w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!g0bR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp" width="1440" height="994" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:994,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Record the weapon mapping and verified byte changes for the Zica Laser swap.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Record the weapon mapping and verified byte changes for the Zica Laser swap." title="Record the weapon mapping and verified byte changes for the Zica Laser swap." srcset="https://substackcdn.com/image/fetch/$s_!g0bR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 424w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 848w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 1272w, https://substackcdn.com/image/fetch/$s_!g0bR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F00495e43-ac0d-4d59-be92-13185a5859c1_1440x994.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The Zica Laser patch needs a verified mapping and a complete restore path. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>A hexadecimal offset is useful only if the patcher can derive it from the record layout and match the expected original value. Keep a copy of the manifest for the first successful change so you can compare it with later adjustments.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">15.1. </span>Apply the patch and verify the files</h3><p>If the agent has written the patcher but has not applied it, ask it to run the patch against the working copy and verify the result.</p><pre><code><code>Apply the verified Zica Laser replacement to the modded copy,
then run the verification script.

Confirm that baseline is unchanged. List the modified files and
exact byte differences, and match them to the patch manifest.

Report whether opentyrian.exe changed. If it did, explain the
code change and verify its original and replacement bytes.

Show how to restore the original starting weapon.</code></code></pre><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qF-A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qF-A!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 424w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 848w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 1272w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!qF-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png" width="890" height="1103" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1103,&quot;width&quot;:890,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:229830,&quot;alt&quot;:&quot;REA-assisted OpenTyrian patch verification confirms a one-byte Pulse-Cannon firing-rate change.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="REA-assisted OpenTyrian patch verification confirms a one-byte Pulse-Cannon firing-rate change." title="REA-assisted OpenTyrian patch verification confirms a one-byte Pulse-Cannon firing-rate change." srcset="https://substackcdn.com/image/fetch/$s_!qF-A!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 424w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 848w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 1272w, https://substackcdn.com/image/fetch/$s_!qF-A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F490a62b2-790b-4577-b54c-f27267e6ae6f_890x1103.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The reversible patch changes the Pulse-Cannon's firing interval from five frames to two.</figcaption></figure></div><p>Keep the patcher under <code>C:\TyrianRE\tools</code> and the report under <code>C:\TyrianRE\findings</code>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vrcY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vrcY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 424w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 848w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 1272w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!vrcY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png" width="694" height="342" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:342,&quot;width&quot;:694,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:52698,&quot;alt&quot;:&quot;Python patching, verification, hex-dump, and reporting scripts support reproducible OpenTyrian modifications.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fab431622-3ed5-409d-b775-e3fc74f480b2_696x345.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Python patching, verification, hex-dump, and reporting scripts support reproducible OpenTyrian modifications." title="Python patching, verification, hex-dump, and reporting scripts support reproducible OpenTyrian modifications." srcset="https://substackcdn.com/image/fetch/$s_!vrcY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 424w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 848w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 1272w, https://substackcdn.com/image/fetch/$s_!vrcY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9724f546-d3f0-4db4-a3f2-b79d3ff4197a_694x342.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The local AI agent generates reusable tools to patch game data and verify exactly what changed.</figcaption></figure></div><p>You can still compare the two executable hashes with the existing PowerShell check.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;cbeaebff-95ac-4172-94a2-ec26274ad3fb&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">$original = Get-FileHash `
  "C:\TyrianRE\baseline\opentyrian.exe" `
  -Algorithm SHA256

$modified = Get-FileHash `
  "C:\TyrianRE\modded\opentyrian.exe" `
  -Algorithm SHA256

$original.Hash -eq $modified.Hash</code></pre></div><p><code>True</code> means the executable is identical in both copies. If the result is <code>False</code>, the manifest must account for the executable changes. Judge the result against the documented patch method. An unexplained difference is a reason to stop and inspect the files.</p><div class="captioned-image-container"><figure><div class="image-link image2" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aXdb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 424w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 848w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 1272w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!aXdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png" width="647" height="225" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:225,&quot;width&quot;:647,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:56681,&quot;alt&quot;:&quot;PowerShell verifies matching SHA-256 hashes for the original and modded OpenTyrian executables.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="PowerShell verifies matching SHA-256 hashes for the original and modded OpenTyrian executables." title="PowerShell verifies matching SHA-256 hashes for the original and modded OpenTyrian executables." srcset="https://substackcdn.com/image/fetch/$s_!aXdb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 424w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 848w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 1272w, https://substackcdn.com/image/fetch/$s_!aXdb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f3b796a-cd6e-4641-b6d7-9bc0cee3aa37_647x225.png 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></div><figcaption class="image-caption">Identical executable hashes confirm the weapon modification leaves OpenTyrian's program binary untouched.</figcaption></figure></div><p>If you need Python for the patcher, <a href="https://www.python.org/downloads/windows/">install a current Python 3 release for Windows</a> and check the launcher.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;92b7c669-f3ba-4440-996d-f9a82b21ffa7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">py -3 --version</code></pre></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">15.2.</span> <strong>Launch </strong>the modified game</h3><p>Close the baseline game, then launch the copy under <code>modded</code>.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;shell&quot;,&quot;nodeId&quot;:&quot;285596f3-ff86-48ef-b6e4-f99b4bb2ec5e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-shell">Set-Location "C:\TyrianRE\modded"
.\opentyrian.exe</code></pre></div><p>Start a fresh Episode 1 story game with the same difficulty and starting power level as the baseline run. Hold fire, look at the projectiles, and listen.</p><p>In our run, replacing the Pulse-Cannon with the Zica Laser produced a noticeable change in all three parts of the weapon&#8217;s presentation. That is the result to check on your copy. A changed menu label alone cannot establish that the weapon replacement worked.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BCPQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BCPQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 424w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 848w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 1272w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!BCPQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png" width="1729" height="789" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:789,&quot;width&quot;:1729,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2567808,&quot;alt&quot;:&quot;Matched Episode 1 runs compare the Pulse-Cannon with the Zica Laser replacement.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/223221416?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a3c1687-0d33-4b23-add3-d200619b096d_1774x887.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Matched Episode 1 runs compare the Pulse-Cannon with the Zica Laser replacement." title="Matched Episode 1 runs compare the Pulse-Cannon with the Zica Laser replacement." srcset="https://substackcdn.com/image/fetch/$s_!BCPQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 424w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 848w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 1272w, https://substackcdn.com/image/fetch/$s_!BCPQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0336b069-d945-42ea-961c-99dd7969cdc8_1729x789.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Compare the Pulse-Cannon and Zica Laser with the same starting loadout. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Capture a short clip of each run with game audio enabled, using the same opening stretch of the level. Compare the shots&#8217; appearance, their firing pattern, and their sound. Then check sustained fire, generator behavior, movement, menus, and level loading.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">16. </span><strong>Troubleshoot </strong>OpenCode, Ghidra, and the patch</h2><p>Find the first stage that fails. </p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If OpenCode can&#8217;t see REA, run <code>rea doctor --client opencode --json</code> and fully restart OpenCode.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If REA connects but Ghidra rejects the target, run <code>rea doctor --provider ghidra --json</code> and check the host, provider, and executable format. </p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Make sure you downloaded the Windows x64 game archive.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>For a Java or launcher error, correct <code>JAVA_HOME</code> or <code>GHIDRA_INSTALL_DIR</code> before running setup again.</p><p>If the initial Ghidra query times out, check the reported deadline and the current session state. If the model forgets earlier findings, use the 64K profile if it fits, reduce the amount of tool output per request, and keep reports on disk. Malformed tool calls are a reason to check the selected Ollama model and retry a smaller task.</p><p>If the starting weapon still behaves like the Pulse-Cannon, confirm that you launched the modified copy and started the intended Episode 1 loadout. Recheck the weapon selection and shot-pattern references. If only the appearance or sound changed, compare the complete mapping with the Zica Laser definition. If firing stops after a short burst, inspect generator behavior and energy demand. For a crash, restore the original files and check the patch against the verified layout. If the change disappears after restarting, confirm the launched path, data files, and saved loadout.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FaKe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FaKe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 424w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 848w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 1272w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!FaKe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp" width="1440" height="1750" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1750,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Diagnose the failed stage of an OpenTyrian Zica Laser weapon replacement.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Diagnose the failed stage of an OpenTyrian Zica Laser weapon replacement." title="Diagnose the failed stage of an OpenTyrian Zica Laser weapon replacement." srcset="https://substackcdn.com/image/fetch/$s_!FaKe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 424w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 848w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 1272w, https://substackcdn.com/image/fetch/$s_!FaKe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faba4696f-df53-4d35-9afb-c608c4104e22_1440x1750.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Check the weapon mapping when the Zica Laser swap is incomplete. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">16.1. </span>Recovering from a <strong>Ghidra timeout</strong></h3><p>REA distinguishes the MCP connection from Ghidra&#8217;s actual analysis process. A successful <code>open_binary</code> call does not guarantee that the first analysis query has finished.</p><p>If a query times out, the agent should inspect REA&#8217;s session state. Where appropriate, it should use <code>close_binary</code> followed by a new <code>open_binary</code> call rather than repeatedly issuing the same query against an uncertain session.</p><p>OpenCode V2 lets you <a href="https://opencode.ai/v2/docs/mcp-servers/#timeouts">configure the MCP execution timeout</a>. If a request expires, use <a href="https://github.com/morluto/rea/blob/main/docs/mcp-contracts.md">REA&#8217;s guidance for recovering the Ghidra session</a> before retrying.</p><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">16.2. </span>Recovering from a <strong>confused agent</strong></h3><p>Local models sometimes lose the thread of a lengthy reverse-engineering assignment. They may begin guessing, repeating tool calls, or exploring unrelated functions.</p><p>Give the model the saved findings and ask for one next operation. For example:</p><pre><code><code>Read findings\analysis.md and the current patch manifest.

Summarize what is confirmed and what remains unknown.

Do not repeat completed investigation work.
Do not edit anything yet.

Identify the single next REA operation that would
best resolve the remaining uncertainty, then run it.</code></code></pre><p>If you start a new conversation, instruct the agent to read the stored findings before analyzing anything again.</p><p>Ask for the next tool result to be written back to the report. That gives you a place to resume even if the next import is slow or you need to restart the model.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">17. </span>Turn the patcher into a <strong>weapon-selection tool</strong></h2><p>Once the Zica Laser replacement works, ask the agent to turn the patcher into a small local tool. A first version could let you inspect the original starting weapon, apply the verified Zica replacement, or restore the Pulse-Cannon.</p><p>Have it preview the affected files and record references before applying a change. It should recognize both a clean installation and an already-patched copy, check the expected bytes, and keep a usable restore path.</p><p>Later, you can add other existing weapons after the agent verifies their definitions and selection paths. Keep each weapon&#8217;s graphics, firing pattern, sound, and energy requirements together when checking the result. A selector that only changes a displayed name will be obvious the moment you fire.</p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">18. </span>Try a version-specific <strong>executable patch</strong></h2><p>For a second project, pick a mechanic controlled directly by compiled code. Follow the same evidence trail, then check whether the change belongs in the executable. Here are a few candidates.</p><ul><li><p>The player&#8217;s movement-speed calculations.</p></li><li><p>A weapon cooldown or projectile-count limit.</p></li><li><p>Enemy damage calculations.</p></li><li><p>Shield regeneration or collision behavior.</p></li><li><p>The rules governing enemy targeting.</p></li></ul><p>Those tasks typically require more careful code analysis. Some can be implemented by changing a constant in the Windows executable, while others may require an instruction-level patch or a small code hook.</p><div id="youtube2-kx2xp7IQNSc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kx2xp7IQNSc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kx2xp7IQNSc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A possible next agent assignment is:</p><pre><code><code>Using our existing OpenTyrian REA investigation,
find one gameplay mechanic that is controlled by
compiled code rather than an external data table.

Prioritize player movement speed.

Trace the relevant code using REA and Ghidra.
Determine whether a small, verifiable modification
is possible.

Do not assume a constant exists.

If a safe binary patch is feasible, create a
version-specific patcher that verifies the original
instruction bytes, maps analysis addresses to file
offsets correctly, preserves the baseline executable,
and patches only the working copy.

If it cannot be implemented safely, report the
technical reason and suggest another mechanic.</code></code></pre><p>Here, REA&#8217;s <code>read_bytes</code> and <code>address_to_file_offset</code> capabilities can be particularly useful.</p><p>A Ghidra address identifies a location in the loaded image. To patch an instruction on disk, the agent has to map that address to the executable&#8217;s file layout and confirm the original bytes at the mapped offset. Keep the same validation discipline you used for the data file: target a specific build, write to the working copy, and check the diff.</p><div id="youtube2-TzRGCIkp_c4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TzRGCIkp_c4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TzRGCIkp_c4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><em>This REA-assisted reconstruction of the DX-Ball game shows how binary analysis, code verification, and real gameplay testing work together.</em></p><div><hr></div><h2><span data-color="#00c89a" style="color: rgb(0, 200, 154);">19. </span><strong>What to keep</strong> from your OpenTyrian investigation</h2><p>A successful run leaves you with a modified game, a reproducible patch, and the evidence needed to check or restore it. Keep these pieces together.</p><ol><li><p>The first-look report identifies the executable and the actual Ghidra results returned through REA.</p></li><li><p>The analysis follows the loader and gameplay code to the weapon definitions.</p></li><li><p>The record mapping connects the starting front weapon to the verified Zica Laser behavior.</p></li><li><p>The patcher and manifest show which file bytes changed and how to restore them.</p></li><li><p>The baseline and modified Episode 1 runs let you compare the Pulse-Cannon and Zica Laser&#8217;s appearance, firing pattern, and sound.</p></li></ol><p>This is a walkthrough for deriving and testing a patch on your copy. The exact bytes, offsets, and effect on the weapon come from your local analysis and play test. Keep them in the evidence report so you can reproduce the result later.</p><div><hr></div><h2>Choose your next game mechanic to reverse-engineer</h2><p>Start with a game you know well enough to notice when its rules change. In Tyrian, swapping the starting Pulse-Cannon for the Zica Laser gives you an immediate visual and audible comparison. Keep the original and modified recordings, the patch manifest, and the restore instructions together so you can reproduce that result before trying another mechanic.</p><p>For another experiment, trace shield recovery, boss behavior, or the speed of enemy projectiles. Pick one change with an observable result, such as slower enemy shots in the same opening wave. Ask the agent to identify what controls that behavior, keep the original intact, and give you a before-and-after test you can run in a minute.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/reverse-engineer-game-local-ai-rea-ghidra/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why Whisper invents words during silence, and how to stop it]]></title><description><![CDATA[Fix Whisper hallucinations during silence with faster-whisper or whisper.cpp VAD, context resets, and a test that protects quiet voices.]]></description><link>https://www.popularai.org/p/whisper-hallucinations-during-silence</link><guid isPermaLink="false">https://www.popularai.org/p/whisper-hallucinations-during-silence</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Fri, 06 Nov 2026 15:03:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!HOU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HOU5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HOU5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HOU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;VAD helps prevent Whisper hallucinations during silence while preserving quiet speech.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="VAD helps prevent Whisper hallucinations during silence while preserving quiet speech." title="VAD helps prevent Whisper hallucinations during silence while preserving quiet speech." srcset="https://substackcdn.com/image/fetch/$s_!HOU5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!HOU5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4b71a6ba-4f38-4518-be15-d76b872bda21_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Filter non-speech before Whisper decodes it. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Whisper can produce perfectly readable sentences when nobody said anything. Silence, room tone, music, microphone dropouts, and low-level background noise can all trigger invented text. Sometimes it is a short phrase such as &#8220;thank you.&#8221; Sometimes the model gets stuck repeating the same line for minutes.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/whisper-hallucinations-during-silence?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/whisper-hallucinations-during-silence?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Start by detecting non-speech before Whisper decodes it. Add voice activity detection, then disable previous-text conditioning if hallucinations are turning into repetition loops. Treat <code>no_speech_threshold</code> tuning as a secondary defense, because Whisper&#8217;s own silence score is not a hard VAD gate.</p><p>This applies to OpenAI Whisper, <code>large-v3</code>, <code>large-v3-turbo</code>, faster-whisper, and Whisper-based pipelines. The exact controls differ by implementation.</p><div><hr></div><h3>Quick fix</h3><blockquote><p>If you are using <strong>faster-whisper</strong>, turn on its VAD filter first. If you are using OpenAI Whisper directly, put a dedicated VAD such as Silero in front of it or move the transcription stage to an implementation with VAD support. Then test <code>condition_on_previous_text=False</code> if one bad segment starts contaminating the segments that follow.</p></blockquote><blockquote><p><strong>Do not</strong> make the VAD so aggressive that faint speech disappears. The goal is to stop obvious non-speech from reaching the decoder while retaining quiet voices, clipped syllables, and short utterances.</p></blockquote><div><hr></div><h3>What Whisper hallucinations during silence actually mean</h3><p>Whisper is doing more than matching sounds to words. Its decoder predicts text from the audio representation and linguistic context. When the audio contains little useful speech evidence, the model can still find a plausible sequence of tokens.</p><div id="youtube2-fZMiD8sDzzg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;fZMiD8sDzzg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/fZMiD8sDzzg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A September 2026 paper describes how <a href="https://arxiv.org/abs/2609.04561">Whisper&#8217;s generative decoder can produce fluent transcripts from inputs containing little or no speech</a>. The researchers were able to suppress many of those hallucinations by modifying internal decoder activations, although doing so introduced a trade-off with recognition accuracy and false rejection of real speech.</p><p>That trade-off is the reason there is no universal &#8220;make Whisper stop hallucinating&#8221; slider.</p><p>OpenAI Whisper&#8217;s built-in silence logic starts with these <a href="https://github.com/openai/whisper/blob/main/whisper/transcribe.py">default transcription settings</a>:</p><p><code>no_speech_threshold = 0.6</code></p><p><code>logprob_threshold = -1.0</code></p><p><code>compression_ratio_threshold = 2.4</code></p><p><code>condition_on_previous_text = True</code></p><p>The important part is the interaction between the first two settings. Whisper does not discard a segment merely because its no-speech probability crosses <code>no_speech_threshold</code>. The decoded output must also have sufficiently low average token probability according to <code>logprob_threshold</code>.</p><p>That creates an awkward failure mode. If Whisper produces nonsense that it is relatively confident about, the transcript can survive the no-speech check.</p><p>This helps explain why blindly changing <code>no_speech_threshold</code> sometimes does very little.</p><p>There is another failure mode layered on top. With <code>condition_on_previous_text=True</code>, output from earlier windows can be fed into later windows as context. That usually helps continuity. Once a bad phrase gets into the context, though, it can encourage another bad phrase, which can encourage another.</p><p>That is how a single hallucination can turn into a repetition loop.</p><p>In a September 13, 2026 user report, <code>large-v3-turbo</code><a href="https://github.com/openai/whisper/discussions/2856"> generated repeated Chinese phrases during a microphone failure</a>. The reporter said the recording contained no speech during that interval, yet Whisper produced multilingual and corrupted-looking text before repeating the phrase. Normal transcription resumed when the audio returned.</p><p>The same basic complaint has been circulating for years. A user running both OpenAI Whisper and whisper.cpp in 2024 described <a href="https://www.reddit.com/r/OpenAI/comments/1ffsm0u">good transcription during speech followed by repeated &#8220;thank you&#8221; text during silence or muted audio</a>.</p><p>The recurring phrases can look strangely specific. That does not prove where any individual phrase originated. The reports are consistent with the explanation above: when acoustic evidence becomes weak, the decoder&#8217;s learned text patterns can gain more influence over the output.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/allisonkoe/status/1797662873675800843&quot;,&quot;full_text&quot;:&quot;&#127927;Excited to present our paper, &#8220;Careless Whisper: Speech-to-text Hallucination Harms&#8221; at <span class=\&quot;tweet-fake-link\&quot;>@FAccTConference</span>! &#127927;We assess Whisper (OpenAI&#8217;s speech recognition tool) for transcribed hallucinations that don&#8217;t appear in audio input. Paper link: <a class=\&quot;tweet-url\&quot; href=\&quot;https://arxiv.org/abs/2402.08021\&quot;>arxiv.org/abs/2402.08021</a>, thread &#128071; &quot;,&quot;username&quot;:&quot;allisonkoe&quot;,&quot;name&quot;:&quot;Allison Koenecke&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1228786940322828288/SJpkYLpI_normal.jpg&quot;,&quot;date&quot;:&quot;2024-06-03T16:13:22.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/GPKUtimXsAA3srT.png&quot;,&quot;link_url&quot;:&quot;https://t.co/lnUj9molln&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:6,&quot;retweet_count&quot;:27,&quot;like_count&quot;:112,&quot;impression_count&quot;:23250,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>Diagnose the cause before changing anything</h3><p>Do this on a short copy of the troublesome recording rather than repeatedly processing a two-hour meeting.</p><ol><li><p>Cut out roughly 30 to 60 seconds containing normal speech, the hallucinated silent or noisy section, and normal speech afterward. Keep the original audio untouched.</p></li><li><p>Run that clip using your current settings and save the segment metadata. For OpenAI Whisper, inspect <code>no_speech_prob</code>, <code>avg_logprob</code>, and <code>compression_ratio</code> alongside the generated text.</p></li><li><p>Run the same clip again with <code>condition_on_previous_text=False</code>. If the first hallucination remains but the long repetition disappears, you have identified a context feedback loop.</p></li><li><p>Run the identical clip with VAD enabled before decoding. If the invented text disappears while real speech remains, non-speech gating is solving the right problem.</p></li><li><p>Finally, run the same clip through another Whisper implementation and one non-Whisper ASR model. This separates an implementation problem from a failure that follows the Whisper model family itself.</p></li></ol><p>For OpenAI Whisper in Python, this diagnostic dump puts the text beside the segment metadata. It assumes <code>model</code> is an initialized OpenAI Whisper model and <code>audio_path</code> points to your test clip. The examples use <code>language="en"</code> for English audio, so use the appropriate language for your recording:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;1ae034db-b29b-44db-8c2f-0fbb0d4a2fc7&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">result = model.transcribe(
    audio_path,
    language="en",
    verbose=False,
)
for segment in result["segments"]:
    print(
        segment["start"],
        segment["end"],
        segment["no_speech_prob"],
        segment["avg_logprob"],
        segment["compression_ratio"],
        repr(segment["text"]),
    )</code></pre></div><p>Do not treat any one metadata field as a verdict on whether speech occurred. Compare the audio you can hear with the generated text and the metadata. Look for changes at the point where the failure appears, then check whether those changes recur on the same clip.</p><div><hr></div><h3>Fix the silence before Whisper sees it</h3><p>Put voice activity detection, or VAD, before the transcription stage. The detector decides which audio contains speech before Whisper gets a chance to turn that audio into words.</p><p>faster-whisper has <a href="https://github.com/SYSTRAN/faster-whisper">direct Silero VAD integration through </a><code>vad_filter=True</code>. Its documentation says the normal VAD behavior is deliberately conservative and removes silences longer than 2 seconds. Its VAD implementation currently uses a <a href="https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/vad.py">default speech probability threshold of </a><code>0.5</code><a href="https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/vad.py">, a 2,000 ms minimum silence duration, and 400 ms of speech padding</a>.</p><p>For recordings with obvious gaps, faster-whisper&#8217;s README shows shortening the minimum silence duration to 500 ms. In Python, with an initialized faster-whisper model, the configuration below combines that adjustment with a speech threshold of <code>0.5</code> and previous-text conditioning disabled:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;7ffa4417-f8fe-41dd-b1b1-26232df2a537&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">segments, info = model.transcribe(
    "audio.wav",
    language="en",
    vad_filter=True,
    vad_parameters=dict(
        threshold=0.5,
        min_silence_duration_ms=500,
    ),
    condition_on_previous_text=False,
)
segments = list(segments)</code></pre></div><p>Treat <code>500</code> as a starting point for a test, not a universal setting. When diagnosing a failure, compare VAD alone and context reset alone before combining them, so you can tell which change helped.</p><p>If transcription starts cutting words spoken quietly, focus first on the VAD speech threshold. A lower speech threshold is more permissive, which can retain weak speech but also admits more noise. A higher threshold rejects more questionable audio and therefore increases the chance of deleting genuine low-volume speech.</p><p>The minimum silence duration controls when speech regions are separated. It does not turn quiet speech into loud speech.</p><div id="youtube2-6irweKqQrG0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6irweKqQrG0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6irweKqQrG0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For long meetings, interviews, and other private recordings, this VAD-first approach fits naturally into a <a href="https://www.popularai.org/p/private-local-meeting-transcription-whisper-ollama">local Whisper transcription workflow</a>. It also keeps silence filtering on your own machine instead of creating another cloud processing stage.</p><div><hr></div><h4><em><strong>More on running Whisper locally:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7cd62e9a-1e4b-41f5-af1c-cdefc5f9ff09&quot;,&quot;caption&quot;:&quot;Private local meeting transcription is the right move when meeting audio contains client work, legal strategy, hiring discussions, unpublished plans, financial details, or anything else that should not pass&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The local Otter.ai alternative: run private meeting transcription with Whisper and Ollama&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-05-30T17:50:29.740Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!6Hob!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51645be5-b867-4142-89ba-46f67e3e0144_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/private-local-meeting-transcription-whisper-ollama&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:199890780,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Stop one hallucination from becoming twenty</h3><p>If Whisper generates one bad phrase and then keeps repeating it, test this next:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;d99f4580-9bec-4b6e-98ce-19971716cef4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">result = model.transcribe(
    audio_path,
    language="en",
    condition_on_previous_text=False,
    verbose=False,
)</code></pre></div><p>OpenAI Whisper and faster-whisper document the same trade-off: <a href="https://github.com/openai/whisper/blob/main/whisper/transcribe.py">disabling previous-text conditioning can reduce repetition loops and timestamp drift while making text less consistent across windows</a>.</p><p>This setting will not stop every hallucination. A silent window can still produce invented text by itself.</p><p>It is particularly useful when the failure behaves like a cascade: one strange phrase appears, then the same phrase or related garbage continues after the audio changes.</p><p>For long-form transcription, I would rather accept an occasional awkward transition between windows than let one fabricated sentence poison the next five minutes of transcript.</p><div><hr></div><h3>Do not rely on <code>no_speech_threshold</code> as your VAD</h3><p>The built-in Whisper settings are still useful. They should sit behind proper speech detection rather than carry the whole job.</p><p>Lowering <code>no_speech_threshold</code> makes Whisper more willing to classify a window as silence. The catch is in the source code: the decision interacts with <code>logprob_threshold</code>. If the model produces text with high enough token confidence, the segment can be retained despite its no-speech score.</p><p>Lower the threshold too far and genuine quiet speech can disappear.</p><p>OpenAI Whisper also exposes <code>hallucination_silence_threshold</code>, which <a href="https://github.com/openai/whisper/blob/main/whisper/transcribe.py">can skip longer silent periods when a possible hallucination is detected and word timestamps are enabled</a>. There is no universal threshold documented for every microphone, language, and recording environment.</p><p>Use these controls as a second layer. Tune them against recordings that contain both known silence and known quiet speech.</p><p>Changing one value at a time is tedious. It is also much more informative than moving three thresholds at once and having no idea which change helped.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Put VAD in front of whisper.cpp</h3><p>You no longer have to build a separate silence detector around whisper.cpp if its own VAD support fits your workflow.</p><p>whisper.cpp <a href="https://github.com/ggml-org/whisper.cpp">supports Silero VAD models through </a><code>--vad</code><a href="https://github.com/ggml-org/whisper.cpp">, </a><code>--vad-model</code><a href="https://github.com/ggml-org/whisper.cpp">, </a><code>--vad-threshold</code><a href="https://github.com/ggml-org/whisper.cpp">, </a><code>--vad-min-speech-duration-ms</code><a href="https://github.com/ggml-org/whisper.cpp">, and </a><code>--vad-min-silence-duration-ms</code>, alongside speech padding and related controls.</p><p>From the whisper.cpp repository directory on Linux or macOS, the commands below download the VAD model and run transcription with speech detection enabled. They assume you have already built <code>whisper-cli</code>, downloaded <code>ggml-large-v3-turbo.bin</code> into <code>models/</code>, and prepared <code>audio.wav</code>:</p><pre><code><code>./models/download-vad-model.sh silero-v6.2.0

./build/bin/whisper-cli \
  -m models/ggml-large-v3-turbo.bin \
  -f audio.wav \
  --vad \
  --vad-model models/ggml-silero-v6.2.0.bin \
  --vad-threshold 0.50
</code></code></pre><p>That gives you a useful comparison against OpenAI Whisper without changing the underlying Whisper model family.</p><p>If OpenAI Whisper hallucinates on your clip while whisper.cpp plus VAD stays empty during the same silence, audio gating is a likely explanation worth testing before attributing the improvement to the runtime itself.</p><div><hr></div><h3>Be careful with audio segmentation</h3><p>Silence filtering and audio segmentation are related, but they are not the same operation.</p><p>For a file, you generally want VAD to identify meaningful speech regions while preserving enough audio around each boundary for words to remain intact. The 400 ms speech padding in faster-whisper&#8217;s current VAD defaults is there for a reason.</p><p>For live transcription, do not send endless silent 3-second chunks into Whisper and hope the language model decides to say nothing. Detect whether speech is present first. If the current buffer has no speech, an empty transcript is usually the appropriate result.</p><p>Avoid chopping every sentence into tiny independent fragments unless your tests show it helps. Whisper benefits from acoustic and linguistic context. Removing long dead zones is useful. Destroying all continuity is a different experiment.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/ggerganov/status/1640035474205995011&quot;,&quot;full_text&quot;:&quot;And one more example using Mac OS \&quot;say\&quot; command &quot;,&quot;username&quot;:&quot;ggerganov&quot;,&quot;name&quot;:&quot;Georgi Gerganov&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1654097134315098113/zCZD0wYz_normal.jpg&quot;,&quot;date&quot;:&quot;2023-03-26T16:58:22.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!uvfS!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-7_1640035312381440001.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/CrOTfS5Fj6&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:9,&quot;retweet_count&quot;:21,&quot;like_count&quot;:295,&quot;impression_count&quot;:102023,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/ext_tw_video/1640035312381440001/pu/vid/1044x720/qMyxJv-b2GFGLjxh.mp4?tag=12&quot;,&quot;video_preview_media_key&quot;:&quot;7_1640035312381440001&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>Noise reduction is a second-line fix</h3><p>A recording can contain no speech without containing digital silence. Air conditioners, traffic, keyboard noise, music, compression artifacts, and a failing microphone can all leave enough energy to confuse simplistic volume thresholds.</p><p>A proper VAD is therefore a better first tool than an amplitude cutoff.</p><p>Noise reduction can help when persistent background sound keeps triggering the VAD, but test the denoised version against the raw recording. Aggressive processing can also remove parts of quiet speech.</p><div class="callout-block" data-callout="true"><p><strong>The correct test</strong> here is boring and effective: same recording, same model, same transcription settings, one variable changed.</p></div><div id="youtube2-EO7n96YwnyE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;EO7n96YwnyE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/EO7n96YwnyE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong>Still getting hallucinations after applying the fixes?</strong></h3><div class="callout-block" data-callout="true"><p>This paid section covers how to verify your Whisper configuration and troubleshoot more stubborn failures that survive silence filtering.</p><p><strong>Subscribe or upgrade to a paid Popular AI subscription</strong> to unlock the advanced troubleshooting guide and support our independent AI coverage.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&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="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></div><div><hr></div><h3>Prevent hallucinations from returning</h3><p>Treat non-speech handling as part of the transcription pipeline instead of a cleanup script added after a bad transcript reaches your meeting notes.</p><p>Keep VAD enabled for long recordings and live input. Reset decoder context after problematic gaps when repetition is an issue. Preserve raw audio long enough to verify important transcript sections. Log enough segment metadata to reproduce failures. Keep a small silence, noise, quiet-speech, and normal-speech regression set.</p><p>If you are setting up local Whisper from scratch, Popular AI&#8217;s <a href="https://www.popularai.org/p/free-and-easy-audio-file-transcription-on-windows-with-whisper-install-user-guide">Windows Whisper transcription guide</a> covers the basic local workflow. For a more complete meeting stack with VAD and local summarization, use the private Whisper and Ollama meeting transcription guide.</p><div><hr></div><h4><em><strong>More on local AI audio transcription:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5d35cdff-219c-4951-9927-7032c19bd54d&quot;,&quot;caption&quot;:&quot;Want to transcribe audio for free, privately, and directly on your own computer, without sending anything to Big Tech servers? The Const-me/Whisper project is exactly what you need. It&#8217;s a fast, lightweight, GPU-accelerated implementation of OpenAI&#8217;s Whisper speech-to-text model, rebuilt from the ground up in C++ for Windows. Transcribe interviews, lect&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Free audio transcription on Windows with Whisper&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362091076,&quot;name&quot;:&quot;Ben Geudens&quot;,&quot;bio&quot;:&quot;The one guy who reads the methodology section. &#127963;&#65039; Philosophy &#129504;Logic &#128220; History &#128396;&#65039; Art &#9889; Technology &#128509; Freedom &#128200; Economics &#129304;Rock 'n' Roll&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/417e99a9-0ecb-4a9e-8776-708770d1cd0c_324x324.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-03-19T16:12:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0bBL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe7ae6005-b8aa-4ea8-aab8-39d6a12f0181_1312x736.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/free-and-easy-audio-file-transcription-on-windows-with-whisper-install-user-guide&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:169448794,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Privacy, security, and account risk</h3><p>All of the fixes above can run locally. There is no technical reason to upload a confidential meeting merely to test whether silence filtering works.</p><p>&#9888;&#65039; Be more careful when comparing against hosted transcription services or cloud ASR APIs. A 30-second reproduction clip can still contain names, client details, health information, passwords spoken aloud, or private conversation immediately before and after the failure.</p><p>Trim and anonymize test files before sharing them in GitHub reports.</p><div><hr></div><h3>FAQ</h3><h4>Why does Whisper say &#8220;thank you&#8221; or other phrases during silence?</h4><blockquote><p>Because the model can continue generating plausible text when the audio provides weak speech evidence. Certain phrases recur often in user reports, but a specific hallucinated phrase does not by itself prove which training example produced it.</p><div><hr></div></blockquote><h4>Will <code>large-v3-turbo</code> fix silence hallucinations?</h4><blockquote><p>No. The September 2026 microphone-failure report used <code>large-v3-turbo</code>, which is good evidence that a larger or newer Whisper checkpoint does not remove this failure mode automatically.</p><div><hr></div></blockquote><h4>Should I lower <code>no_speech_threshold</code>?</h4><blockquote><p>Test it, but do not make it your first fix. A lower value makes silence rejection more aggressive and can remove quiet real speech. Whisper&#8217;s skip logic also depends on token log probability, so the threshold does not behave like a dedicated VAD.</p><div><hr></div></blockquote><h4>Is faster-whisper less likely to hallucinate?</h4><blockquote><p>The underlying Whisper model can still hallucinate. faster-whisper makes the problem easier to control because it has direct Silero VAD support and exposes useful VAD parameters. The improvement comes from the pipeline as much as the runtime.</p><div><hr></div></blockquote><h4>Can noise reduction eliminate Whisper hallucinations?</h4><blockquote><p>Sometimes it helps when background noise is fooling the speech detector. It can also damage weak speech. Compare raw and processed audio on the same test clip before making denoising permanent.</p><div><hr></div></blockquote><h3><strong>Conclusion</strong>: stop sending non-speech to Whisper</h3><p>&#128073; Start with VAD.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If you use <strong>faster-whisper</strong>, enable <code>vad_filter=True</code>.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If you use <strong>whisper.cpp</strong>, use its Silero VAD support.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If you use OpenAI Whisper <strong>directly</strong>, put an external speech detector in front of it.</p><p>Then set <code>condition_on_previous_text=False</code> when hallucinations are turning into repetition loops. Tune <code>no_speech_threshold</code>, <code>logprob_threshold</code>, and related controls only after the basic gating works.</p><p>When you accomplish a configuration that rejects non-speech while preserving quiet voices on your test clip, keep it. If invented text continues inside genuine speech, move on to the model and runtime comparisons above. Silence filtering has done its job when the decoder receives speech and quiet gaps stay empty.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/whisper-hallucinations-during-silence/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/whisper-hallucinations-during-silence/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[How to back up Open WebUI without losing your chats, files, or settings]]></title><description><![CDATA[Moving Open WebUI to a new server? Save the full data volume and configuration, then restore into a separate instance without risking newer chats.]]></description><link>https://www.popularai.org/p/open-webui-backup-restore-docker</link><guid isPermaLink="false">https://www.popularai.org/p/open-webui-backup-restore-docker</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Thu, 05 Nov 2026 02:52:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8yTI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8yTI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8yTI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8yTI!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Open WebUI recovery needs the full data volume and original secret key.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Open WebUI recovery needs the full data volume and original secret key." title="Open WebUI recovery needs the full data volume and original secret key." srcset="https://substackcdn.com/image/fetch/$s_!8yTI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!8yTI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b764919-097e-47be-8bc3-7e6ee23d5320_1664x936.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Back up Open WebUI data and keys, then test recovery &#183; <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>An <a href="https://docs.openwebui.com/getting-started/updating/">Open WebUI backup</a> needs more than the Export Chats button. A chat JSON file lets you move conversations to another account. Recovering the installation also requires its users, uploaded documents, knowledge-base data, and configuration.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/open-webui-backup-restore-docker?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/open-webui-backup-restore-docker?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>For a typical Docker installation, back up the entire persistent data volume, preserve the deployment settings and original secret key, and test recovery in a separate instance. Do that before updating Open WebUI or moving it to another server.</p><div><hr></div><h3>Quick answer: chat export or full Docker backup?</h3><p>Use <strong>Export Chats</strong> for a portable copy of conversations. Use a <strong>cold backup of the persistent Docker volume</strong> when you need to recover the installation. Keep your Docker Compose file, environment settings, original encryption key, and any external databases or model storage alongside that archive.</p><p>Test the restore with a <strong>new, empty volume</strong> and a second Open WebUI container on a different port. Leave the production volume untouched. Restoring over a populated volume can destroy newer chats and files, so a backup check should never require replacing your live data.</p><p>This walkthrough covers a single Docker or Docker Compose instance using SQLite and local file storage. The terminal commands use a Linux/macOS shell, including WSL with Docker available. PostgreSQL, cloud object storage, and distributed deployments need additional backups. Confirm that your installation fits those assumptions before using the single-volume procedure below.</p><div id="youtube2-Ly3T8sHvWyc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Ly3T8sHvWyc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Ly3T8sHvWyc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Step 1</strong>: Export a portable copy of your chats</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7lVn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7lVn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 424w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 848w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!7lVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png" width="1456" height="961" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:134303,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222854361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.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_!7lVn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 424w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 848w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 1272w, https://substackcdn.com/image/fetch/$s_!7lVn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78db0756-d7f9-448f-8266-a017fd8e5eac_1590x1049.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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>In Open WebUI, open your profile menu, then Settings &#8594; Data Controls &#8594; Export Chats. The <a href="https://docs.openwebui.com/features/chat-conversations/data-controls/import-export/">downloaded JSON</a> includes conversation messages, model details, timestamps, and chat structure. To import it elsewhere, use Import Chats in the same menu.</p><p>Imports add conversations rather than replacing existing ones. Importing the same JSON twice creates duplicates. The export is not a substitute for uploaded file bytes, user accounts, the knowledge-base index, or server settings.</p><p>Keep the JSON export as an extra recovery option, especially if you only need to move your personal conversations. For a full server migration, continue with the data-volume backup. Importing chats alone will not recreate the rest of the installation.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Step 2</strong>: Find the volume that actually holds your data</h3><p>Open a terminal on the machine running Open WebUI. Replace <code>open-webui</code> below with the actual container name if yours differs.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;d36bfc62-98ba-487a-bb7f-0273c6c749d2&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">docker ps -a --format 'table {{.Names}}\t{{.Image}}'

docker inspect open-webui --format '{{range .Mounts}}{{println .Destination .Type .Name .Source}}{{end}}'

docker inspect open-webui --format '{{.Config.Image}}'</code></pre></div><p>Look for the mount whose destination is <code>/app/backend/data</code>. A <a href="https://docs.openwebui.com/tutorials/maintenance/backups/">named Docker volume</a> will show <code>volume</code> and its actual name, perhaps <code>open-webui</code> or a Compose-generated project prefix such as <code>myapp_open-webui</code>. A <code>bind</code> mount points to a host directory instead.</p><p>Use the mount you found on your own machine. A volume name copied from another tutorial may point to entirely different data. Record both the volume name or host path and its destination inside the container before continuing.</p><div id="youtube2-10_2BjqB_Ls" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;10_2BjqB_Ls&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/10_2BjqB_Ls?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For the default SQLite setup, the data folder commonly includes <code>webui.db</code>, <code>uploads/</code>, and <code>vector_db/</code>. <a href="https://docs.openwebui.com/tutorials/maintenance/database/">Database records without the associated uploads</a> can leave conversations pointing to missing documents.</p><p>A running database can also use <a href="https://docs.openwebui.com/tutorials/maintenance/backups/">SQLite write-ahead log files</a>, so stop all processes writing to it before taking a file-level backup.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Step 3</strong>: Back up the complete Docker volume</h3><p>Before stopping Open WebUI, record the image version and save your Compose file, <code>.env</code> file, reverse-proxy configuration, and other deployment settings somewhere private. Keep these with the matching backup so you can recreate the deployment that produced it.</p><p>Preserve the original <code>WEBUI_SECRET_KEY</code>. If Docker generated the key automatically, it can live at <code>/app/backend/.webui_secret_key</code><a href="https://docs.openwebui.com/getting-started/advanced-topics/hardening/">, outside the data volume</a>.</p><p>While the original container still exists, copy that file to secure storage if applicable:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;71166521-ff70-44a8-8387-b37d4ed39516&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">mkdir -p "$HOME/openwebui-backups"

docker cp open-webui:/app/backend/.webui_secret_key \
  "$HOME/openwebui-backups/webui-secret-key"</code></pre></div><p>If that file does not exist, check whether your deployment supplies <code>WEBUI_SECRET_KEY</code> through its environment or secrets manager. Do not replace a working key with a newly generated one. Keep backup directories containing keys accessible only to authorized users.</p><div id="youtube2-PFszWK3BB8I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PFszWK3BB8I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PFszWK3BB8I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For a named volume, substitute the name discovered in Step 2 and run:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;95b8f3dc-f8e2-41f6-b05b-ec4e9681b606&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">VOLUME="YOUR_ACTUAL_VOLUME_NAME"
BACKUP_DIR="$HOME/openwebui-backups"
ARCHIVE="openwebui-$(date +%Y%m%d-%H%M%S).tar.gz"
IMAGE="$(docker inspect open-webui --format '{{.Config.Image}}')"

docker stop open-webui

docker run --rm -v "$VOLUME:/data:ro" \
  -v "$BACKUP_DIR:/backup" \
  alpine tar -C /data -czf "/backup/$ARCHIVE" .

docker start open-webui</code></pre></div><p>If the backup command fails, start the original container again and investigate before updating. This archives the full data directory, including hidden entries, using the same <a href="https://docs.openwebui.com/getting-started/updating/">Docker volume-and-tar approach</a> as the official update procedure.</p><p>For a bind mount, stop Open WebUI and archive the real host directory instead:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;f817c649-6751-4efa-82a6-0ad39a7bcf74&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">docker stop open-webui

tar -C /actual/host/data/path \
  -czf "$HOME/openwebui-backups/openwebui-bind.tar.gz" .

docker start open-webui</code></pre></div><p>Use the procedure that matches your mount type. Keep the backup destination outside the data directory you are archiving, whether you use a named volume or a host bind mount.</p><div id="youtube2-2dAzsVg3Dek" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2dAzsVg3Dek&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2dAzsVg3Dek?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Step 4</strong>: Check the archive before trusting it</h3><p>Run these commands against the named-volume archive from Step 3:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;9d59efee-d211-47e1-8f2e-2e08d1b8ca8d&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">tar -tzf "$BACKUP_DIR/$ARCHIVE" &gt; /dev/null

tar -tzf "$BACKUP_DIR/$ARCHIVE" \
  | grep -E 'webui.db|uploads/|vector_db/'

ls -lh "$BACKUP_DIR/$ARCHIVE"</code></pre></div><p>A successful first command means the compressed archive can be read. For a standard local setup, expect to find <code>webui.db</code> and, if used, uploads and vector storage.</p><p>A readable archive proves that tar can open it. Open WebUI still needs to start from the recovered files and read their contents correctly. Copy the archive and protected configuration to separate storage, preferably another physical device, before the next update.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Step 5</strong>: Restore into a disposable Open WebUI installation</h3><p>&#9888;&#65039; <strong>Do not</strong> extract this archive into your existing production volume. The following commands restore it into a fresh volume for an isolated single-instance SQLite test. Check that the test container name and volume name are unused before running them. The target must be empty, even if you have performed a restore check before.</p><div class="callout-block" data-callout="true"><p><strong>Want to make sure your Open WebUI backup can actually be restored?</strong></p><p>Paid subscribers get the complete recovery walkthrough, including the Docker commands, isolated restore procedure, and checks for recovered chats, files, and settings.</p><p><strong>Subscribe or upgrade to a paid subscription to unlock the full guide and support Popular AI.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&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="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></div><div><hr></div><h3>What can still go wrong?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zSN-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zSN-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 424w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 848w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 1272w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!zSN-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp" width="1456" height="894" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:894,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Open WebUI restore failures: volume, file storage, secret key, database, and permissions.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Open WebUI restore failures: volume, file storage, secret key, database, and permissions." title="Open WebUI restore failures: volume, file storage, secret key, database, and permissions." srcset="https://substackcdn.com/image/fetch/$s_!zSN-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 424w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 848w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 1272w, https://substackcdn.com/image/fetch/$s_!zSN-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe19f4e58-d9d7-41af-b2c4-12025db4cd73_2100x1290.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Check the cause before replacing Open WebUI data &#183; &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>A fresh setup screen or missing chats can mean the Docker volume is wrong or empty. Check the actual volume and its mount destination. If chats return but attachments fail, uploads, vector data, or external storage may be missing. Restore the matching file storage from the same backup point.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Logouts or failed encrypted integrations can indicate that the original secret key was not preserved. Restore the protected original key. Database errors can come from an active SQLite copy or an incompatible schema. Use a cold, pre-update backup and the matching image.</p><p>For a permission-denied error after restoring a host bind mount, check ownership against the container&#8217;s configured user and correct it to match.</p><p>If chats seem to have vanished after a restart, first check whether the new container is <a href="https://docs.openwebui.com/faq/">attached to the wrong volume</a>. A fresh setup screen does not, by itself, establish that the original database was deleted.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Roll back a failed update without overwriting new data</h3><p>Keep the original image version, pre-update archive, deployment configuration, and secret together.</p><p>If an update runs a database migration, <a href="https://docs.openwebui.com/getting-started/updating/">pulling the old image alone may not reverse its schema changes</a>.</p><p>Your rollback checklist is:</p><ol><li><p>Stop the failed deployment and preserve its current volume.</p></li><li><p>Find the pre-update archive, original image version, and matching secret key.</p></li><li><p>Restore that archive into another empty volume and recreate the previous Open WebUI version against it.</p></li><li><p>Verify chats, uploaded files, and settings before directing users to the restored instance.</p></li></ol><p>Compare any conversations created after the backup before choosing which state to keep. Never extract an older archive over a live volume containing newer data.</p><p><a href="https://docs.openwebui.com/tutorials/maintenance/backups/">Ollama models in a separate volume</a>, an <a href="https://docs.openwebui.com/getting-started/advanced-topics/scaling/">external PostgreSQL database, object storage, and remote vector databases</a> are outside this single-volume procedure. Back them up independently and restore the connected services consistently.</p><div><hr></div><h3>Keep a restorable Open WebUI backup before the next update</h3><p>Keeping an Open WebUI archive on the same disk as the only copy of your chats leaves both copies exposed to the same disk failure.</p><p>Before the next update, confirm that you have a chat JSON export, a readable full-data archive, the preserved deployment settings and original secret, and a restore procedure that runs in a separate volume. The archive, configuration, and key should describe the same installation and backup point.</p><p>Repeat the restore test after major storage or version changes. Use <a href="https://www.popularai.org/p/local-ai">Popular AI&#8217;s local AI guide</a> when planning the wider self-hosted setup, then make this backup and recovery check part of every Open WebUI update.</p><div><hr></div><h4><em><strong>More on local AI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4ee62484-873d-4ae5-85a6-6c7d735e5963&quot;,&quot;caption&quot;:&quot;Learn how to run local AI, choose open-weight models, protect private data, compare APIs, and build workflows that survive vendor changes.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Local AI: models, privacy, hardware and APIs&quot;,&quot;publishedBylines&quot;:[],&quot;post_date&quot;:&quot;2026-08-08T14:05:14.072Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qJdy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe632a9fb-706b-4a1a-8ecc-2798c612acc5_1672x756.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210347707,&quot;type&quot;:&quot;page&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/open-webui-backup-restore-docker/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/open-webui-backup-restore-docker/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[ChatGPT image bias: when diversity overrides your prompt]]></title><description><![CDATA[Why does ChatGPT change the people in your images? Examine the evidence behind demographic defaults and learn how to reduce unwanted prompt changes.]]></description><link>https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting</link><guid isPermaLink="false">https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Wed, 04 Nov 2026 15:04:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5K-G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5K-G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5K-G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5K-G!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2236623,&quot;alt&quot;:&quot;Editorial illustration contrasting an original character sketch with changed casting in photographic image proofs.&quot;,&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://www.popularai.org/i/222836043?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Editorial illustration contrasting an original character sketch with changed casting in photographic image proofs." title="Editorial illustration contrasting an original character sketch with changed casting in photographic image proofs." srcset="https://substackcdn.com/image/fetch/$s_!5K-G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!5K-G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd990c7e4-039c-46ae-a413-a33c20d1ebbd_1672x941.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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">ChatGPT image bias can turn a creative brief into repeated casting corrections. <em>AI-modified</em> &#169; <a href="https://popularai.org">Popular AI</a></figcaption></figure></div><p>You ask ChatGPT for an image for a blog post, presentation, or creative project. The brief describes the scene, setting, and people. The result changes the casting anyway. You clarify your instructions, render again, and spend another round correcting a decision you never asked the tool to make.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>ChatGPT image bias can turn a powerful creative tool into a frustrating production bottleneck. Providers have documented demographic interventions, and automatic prompt rewriting can introduce details before an image is rendered. The practical response is to approve concepts first, inspect actual rewrites where available, and keep a rendering path that gives you more control.</p><p><em>The evidence in this article spans several generations of image tools. Historical instructions explain how these interventions have worked, while current documentation helps identify which parts of today&#8217;s workflow you can inspect or change. Neither a bad image nor a chatbot&#8217;s explanation, by itself, reveals the cause.</em></p><div><hr></div><h3>Diversity interventions are documented</h3><p>On July 18, 2022, OpenAI announced a <a href="https://openai.com/index/reducing-bias-and-improving-safety-in-dall-e-2/">system-level intervention for DALL&#183;E 2 requests describing people without specifying race or gender</a>. Its stated purpose was to produce results reflecting the diversity of the world&#8217;s population.</p><p>That was an intentional demographic adjustment. Leaving an attribute unspecified did not mean the system would leave the choice entirely to the underlying model.</p><p>The choices could be surprisingly prescriptive. In a <a href="https://www.oxford-aiethics.ox.ac.uk/blog/how-chatgpt-has-been-prompted-respect-safety-fairness-and-copyright">February 2024 account of extracted GPT-4 instructions</a>, Vincent Conitzer and Derek Leben described instructions Leben had obtained in December 2023. They directed image descriptions to specify gender and ancestry, assigning different ancestries with &#8220;EQUAL probability.&#8221;</p><p>The authors also reported that the rule disappeared from the system instructions the following month. That account indicates a historical implementation. It does not necessarily prove that prompts are altered behind the scenes today.</p><div id="youtube2-sqQrN0iZBs0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sqQrN0iZBs0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sqQrN0iZBs0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Equal probability across selected ancestry labels is a policy choice. It cannot simultaneously reproduce the demographic makeup of every country, profession, historical setting, and publication&#8217;s subject matter.</p><p>OpenAI later acknowledged the contextual limits. Its <strong>March 2025</strong> image-generation system card said <a href="https://deploymentsafety.openai.com/4o-native-image-generation">demographic choices might not match particular cultural or geographic populations</a>. It also said explicit user preferences should be followed. The objective was a broader range of representations rather than exclusive reliance on the most common demographics.</p><div id="youtube2-2f3K43FHRKo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2f3K43FHRKo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2f3K43FHRKo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Those goals become a product defect when they override the context that makes an image useful.</p><div><hr></div><h3>What users have actually reported</h3><p>The complaints extend beyond abstract arguments about representation:</p><ul><li><p><strong>Storyboarding</strong>: In a July 2022 OpenAI developer-forum discussion, user daveshapautomator <a href="https://community.openai.com/t/dalle-openai-is-changing-users-prompts-to-be-more-diverse/19439">described ethnicity changing between character images</a>. They planned to add ethnicity and gender considerations to their prompt-writing tool. The workaround became extra production machinery.</p></li><li><p><strong>Children making pizza</strong>: In a January 2024 DALL&#183;E 3 API thread, a developer shared a request about a child named Kate cooking with friends. The <a href="https://community.openai.com/t/why-is-dalle3-api-prompt-re-write-is-overly-focused-on-ethnicity/588554">reported rewrite assigned the children Caucasian, Hispanic, South Asian, Black, and Middle Eastern identities</a>. The developer asked whether ethnicity could remain unspecified.</p></li><li><p><strong>Historical illustrations</strong>: In a September 19, 2025 Adobe Firefly complaint, user abpositive <a href="https://community.adobe.com/questions-404/stop-forcing-diversity-into-results-1476886">reported unwanted demographic mixtures despite explicit instructions</a> for historical and sociological illustrations. A community expert acknowledged similar experiences and suggested more detailed ethnicity prompts.</p></li></ul><p>These are user reports rather than controlled audits of current products. They document a recurring complaint: the service adds or changes casting, then users must spend time directing it back.</p><p>Google, however, offered a stronger admission. On February 23, 2024, the company <a href="https://blog.google/products-and-platforms/products/gemini/gemini-image-generation-issue/">explained why it had paused Gemini&#8217;s generation of people</a>. Tuning intended to show a range of people had failed to accommodate contexts where that range was inappropriate. Excessive caution also caused refusals of harmless requests. Google described the resulting images as &#8220;embarrassing and wrong.&#8221;</p><p>The diversity objective had outrun the brief.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Why a better model can become a worse tool</h3><p>Three mechanisms can affect your result: the assistant&#8217;s expansion of the brief, the image model&#8217;s learned defaults, and the provider&#8217;s policy controls. Our examination of <a href="https://www.popularai.org/p/chatgpts-piss-filter-why-ai-images">ChatGPT&#8217;s persistent yellow image cast</a> describes the same practical problem with a different unwanted default. Users encounter the combined behavior of a product pipeline.</p><p>OpenAI&#8217;s Responses API <a href="https://developers.openai.com/api/docs/guides/tools-image-generation">automatically revises image prompts and exposes the resulting text through a revised_prompt field</a>. An unrequested person or demographic description can therefore enter before rendering begins.</p><p>Rewriting can help a vague request. It can also sabotage a precise one. A <a href="https://www.microsoft.com/en-us/research/publication/as-generative-models-improve-people-adapt-their-prompts/">study summarized by Microsoft Research in July 2024</a> involved 1,891 participants and more than 18,000 prompts. On a task requiring participants to reproduce target images, automatic prompt revision reduced DALL&#183;E 3&#8217;s measured advantage over DALL&#183;E 2 by 58%.</p><p>That statistic measures lost improvement on that task, not a 58% productivity loss caused by diversity rules. The <a href="https://arxiv.org/abs/2407.14333">research&#8217;s January 2026 revision likewise describes task-dependent benefits and harms from rewriting</a>. Aligned rewrites can help. Misaligned ones can undermine gains from a better model.</p><p>For commercial work, accepted images per hour are a more useful measure than visual polish alone. A technically impressive render that needs repeated correction still misses the deadline.</p><p>The provider chooses the representation objective. The illustrator, publisher, or small business absorbs the correction work. Politically preferred casting becomes especially intrusive when presented as a neutral improvement that requires no user approval.</p><p>Repeated women in one workflow do not establish a universal female quota. OpenAI&#8217;s <a href="https://deploymentsafety.openai.com/4o-native-image-generation">2025 evaluation still predominantly produced male subjects</a>. Its <a href="https://deploymentsafety.openai.com/chatgpt-images-2-5">September 2026 Images 2.5 system card supplies no equivalent gender breakdown</a>. Diagnose the behavior you can observe instead of relying on a chatbot&#8217;s explanation of its own motives.</p><div id="youtube2-6l7ble9P74o" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6l7ble9P74o&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6l7ble9P74o?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>How to reduce unwanted ChatGPT image bias</h3><p>The following are workflow recommendations, not guaranteed overrides of provider controls.</p><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">1. </span>Set conditions without forcing a human subject <em>(paid subscribers only)</em></h4><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">2. </span>Review concepts before paying to render them <em>(paid subscribers only)</em></h4><div class="callout-block" data-callout="true"><p style="text-align: center;">Get the reusable editorial brief, casting template, and concept-review prompt for your image workflow. Subscribe or upgrade to a paid subscription to access the templates and guidance. Practical troubleshooting continues free below.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&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="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></div><div><hr></div><h4></h4><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3. </span>Inspect the actual rewrite where available</h4><p>For an API application, log the original request and the <a href="https://developers.openai.com/api/docs/guides/tools-image-generation">returned revised_prompt</a>. Compare the people, setting, identities, and visual emphasis. Asking the chatbot to use your words verbatim is a request, not proof that no transformation occurred.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642;</span> If the rewrite introduces the unwanted detail, you have identified an <strong>upstream contributor</strong>.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If it doesn&#8217;t, investigate model defaults, references, and conversation context. A description the chatbot reconstructs afterward is weaker evidence than an actual logged tool request.</p><p>Use a small repeatable test set spanning your normal assignments. Record the model, date, prompts, outputs, and rejection reasons. Compare fresh conversations with your production setup. Three variations from one brainstorm may repeat one casting decision, so test unrelated briefs too.</p><p>Keep the acceptance criteria specific to the job. A recurring character needs a stable appearance. A historical illustration needs the requested setting and identities. An editorial concept may work better without people. Record which requirement failed instead of treating every rejected image as evidence of the same cause.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4. </span>Remove the conversational rewrite when practical</h4><p>For current GPT Image models, developers can send approved descriptions through OpenAI&#8217;s <a href="https://developers.openai.com/api/docs/guides/image-generation">direct Image API using images.generate</a>, rather than asking a conversational model to compose a Responses API image-tool call. This removes that particular mainline-model rewriting step from your application architecture.</p><p>The image model&#8217;s training, defaults, and provider controls remain. Prompts and outputs are still filtered. The API&#8217;s <code>moderation</code> setting controls filtering strictness. It is not a documented demographic-bias switch.</p><p>For existing photos, use references and targeted edits rather than redescribing the entire scene. OpenAI supports <a href="https://developers.openai.com/api/docs/guides/image-generation">reference-image and masked editing, with masks serving as guidance rather than guaranteed boundaries</a>. Inspect the untouched regions too.</p><div id="youtube2-kJirMpbvBrM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kJirMpbvBrM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kJirMpbvBrM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">5. </span>Keep a different rendering path</h4><p>A local workflow gives you more architectural control. In <a href="https://docs.comfy.org/tutorials/basic/text-to-image">ComfyUI&#8217;s basic text-to-image workflow, visible prompt nodes supply the conditioning used for generation</a>. A fully local workflow without an added language-model enhancer avoids a hosted chatbot rewriting your brief.</p><div id="youtube2-uafAN8zLKD8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uafAN8zLKD8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uafAN8zLKD8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Choose the checkpoint and workflow deliberately. Local models still have learned biases, licenses, hardware requirements, and weaknesses. Negative-prompt support varies by model. Cloud API nodes also remain cloud services, even inside a local interface.</p><p>Keep the working model files, workflow, settings, and approved prompts together. Expect maintenance: our guide to <a href="https://www.popularai.org/p/why-comfyui-updates-break-workflows-and-how-to-fix-them">why ComfyUI updates break workflows</a> explains the version and dependency problems that come with that control.</p><p>Try the alternative on the same briefs you already use. Compare the correction work as well as the initial output. A fallback earns its place when it reliably produces usable images for your assignments, with setup and maintenance costs you can accept.</p><div><hr></div><h4><em><strong>More on ComfyUI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d78801b3-8aed-47de-9cbe-cb0e10ad6ba5&quot;,&quot;caption&quot;:&quot;ComfyUI update problems feel chaotic when you are the one living through them. One day a workflow runs fine. The next day you update ComfyUI, install a custom node, or refresh a Python package be&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why ComfyUI updates break workflows and how to fix them&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-17T15:33:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!W1JS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7610438-53b9-49c6-b9f6-9f7ece4fa14f_2560x1567.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/why-comfyui-updates-break-workflows-and-how-to-fix-them&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:191513180,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Your image brief should remain yours</h3><p>Reducing repetitive stereotypes can improve a generator. Overriding a historically specific scene or turning an open brainstorm into predetermined casting can make it worse.</p><p>A more useful product would expose substantive rewrites, preserve context, and let users choose representation preferences without forcing a human subject into every idea. Unspecified details are creative room, not blanket consent to a company&#8217;s social agenda.</p><p>For now, preserve that room with conditional instructions, approve concepts before rendering, inspect real prompts when possible, and keep another rendering path available. A productivity tool should earn its place by reducing your work, including the work of correcting its priorities.</p><div><hr></div><h4><em><strong>More on AI image generation:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;58bad545-6119-4120-af9d-71102906bb1e&quot;,&quot;caption&quot;:&quot;Scroll long enough through AI images on social media and you will run into it: a faint yellow brown wash that makes a brand new render look like it has been living in a smoker&#8217;s living room since 2007. People started calling it the &#8220;piss filter&#8221; because the nickname is crude, memorable, and u&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ChatGPT&#8217;s &#8216;piss filter&#8217;: why AI images skew yellow (and how to fix it)&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-02T14:07:29.613Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CyLP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F002601c3-d3c9-4319-a537-1549681a5218_1743x974.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/chatgpts-piss-filter-why-ai-images&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:189361956,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/chatgpt-image-bias-prompt-rewriting/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Build an AI bird feeder that identifies visitors locally with a Raspberry Pi]]></title><description><![CDATA[Turn a Raspberry Pi Zero 2 W into an AI bird feeder camera with TitPi. Follow the setup, disable cloud identification, and review species predictions.]]></description><link>https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi</link><guid isPermaLink="false">https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Wed, 04 Nov 2026 05:11:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!y_us!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!y_us!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!y_us!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!y_us!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!y_us!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!y_us!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!y_us!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp" width="728" height="409.5" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Tufted titmouse holding a sunflower seed on a wooden feeder beside a window, illustrating the close views needed for a DIY AI bird feeder.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="Tufted titmouse holding a sunflower seed on a wooden feeder beside a window, illustrating the close views needed for a DIY AI bird feeder." title="Tufted titmouse holding a sunflower seed on a wooden feeder beside a window, illustrating the close views needed for a DIY AI bird feeder." srcset="https://substackcdn.com/image/fetch/$s_!y_us!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!y_us!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!y_us!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!y_us!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b03d99a-49ad-4af5-8dee-784f2669c3ee_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">A close feeder view gives a Raspberry Pi AI bird feeder more detail for species identification. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>A DIY AI bird feeder can photograph garden visitors, predict their species, and keep a searchable record without a wildlife-camera subscription. A Raspberry Pi, an AI Camera, and a local bird-classification model handle the work. Disable the project&#8217;s optional hosted fallback, and identification can stay on your own hardware.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Developer Renan Fernandes has already demonstrated the idea with <a href="https://github.com/renanfernandes/titpi">TitPi, a Raspberry Pi bird feeder project with published source code</a>. His setup watches a feeder through a window, detects approaching birds, identifies likely species, and displays the results on a local dashboard.</p><p>The build uses a Pi Zero 2 W rather than a larger AI computer. Its camera handles the first detection stage, leaving the Pi to classify photographs, save visits, and serve the dashboard.</p><div><hr></div><h3>How the DIY AI bird feeder works</h3><p>TitPi uses a Raspberry Pi Zero 2 W connected to a Sony IMX500 AI Camera. The camera performs the initial object detection, while the Raspberry Pi handles photographs, species classification, and the visitor database.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>The <a href="https://www.raspberrypi.com/documentation/accessories/ai-camera.html">Raspberry Pi AI Camera runs neural networks on its imaging sensor</a>. That reduces the work required from the Pi&#8217;s processor. Detecting a bird on the sensor and identifying its species on the Pi are different jobs, so the camera&#8217;s accelerator does not remove the need for the local classification model.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Detection and species identification are separate stages. First, the camera detects an object that appears to be a bird. It looks for a change in detection confidence and triggers a photograph when that change is sustained.</p><p>Second, a TensorFlow Lite model examines the image and predicts the bird&#8217;s species.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Species identification is the harder task. Recognizing an object as a bird is relatively straightforward compared with distinguishing a female house finch from a purple finch, especially when the photograph is blurry or poorly lit.</p><p>TitPi also includes an optional hosted-model fallback for uncertain identifications. We&#8217;ll disable that component to keep the identification process local.</p><p>The finished system can save photographs, record visits in SQLite, and display recent activity through a browser. No commercial wildlife-monitoring account is required.</p><div id="youtube2-D-foRupzOiY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;D-foRupzOiY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/D-foRupzOiY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>What you need to build the AI bird feeder</h3><p>Start with the hardware used by TitPi itself. The AI Camera already contains inference hardware, so this setup doesn&#8217;t need a separate AI accelerator. Keeping the hardware close to the project&#8217;s documented combination also gives you fewer differences to investigate if installation fails.</p><p>The U.S. retailer prices below were checked at time of publication. Prices and availability can change. They are component prices, so leave room in the budget for the parts that make the camera usable beside a window.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>The Raspberry Pi Zero 2 W</strong> runs the camera software, local classifier, database, and dashboard. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://www.pishop.us/product/raspberry-pi-zero-2-w/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TpEM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!TpEM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg" width="408" height="196.044" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:961,&quot;width&quot;:2000,&quot;resizeWidth&quot;:408,&quot;bytes&quot;:593382,&quot;alt&quot;:&quot;Raspberry Pi Zero 2 W Projects | Vilros\n    \n    \n    \n      &#8211; Vilros.com&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:&quot;https://www.pishop.us/product/raspberry-pi-zero-2-w/&quot;,&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="Raspberry Pi Zero 2 W Projects | Vilros
    
    
    
      &#8211; Vilros.com" title="Raspberry Pi Zero 2 W Projects | Vilros
    
    
    
      &#8211; Vilros.com" srcset="https://substackcdn.com/image/fetch/$s_!TpEM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 424w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 848w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!TpEM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d031730-432f-40c8-b360-a17db382c486_2000x961.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Its 512 MB of RAM keeps the board inexpensive but limits the resources available to those jobs. PiShop US <a href="https://www.pishop.us/product/raspberry-pi-zero-2-w/">lists the Raspberry Pi Zero 2 W at $17.25</a>.</p><div><hr></div><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>The Raspberry Pi AI Camera (IMX500)</strong> handles object detection directly on the camera sensor. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://www.pishop.us/product/raspberry-pi-ai-camera/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gnlH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!gnlH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg" width="250" height="213.92857142857142" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:599,&quot;width&quot;:700,&quot;resizeWidth&quot;:250,&quot;bytes&quot;:129961,&quot;alt&quot;:&quot;Raspberry Pi AI Camera | Buy in Australia | CE09938 | Core Electronics&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:&quot;https://www.pishop.us/product/raspberry-pi-ai-camera/&quot;,&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="Raspberry Pi AI Camera | Buy in Australia | CE09938 | Core Electronics" title="Raspberry Pi AI Camera | Buy in Australia | CE09938 | Core Electronics" srcset="https://substackcdn.com/image/fetch/$s_!gnlH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 424w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 848w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!gnlH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0309d787-926f-4df8-8435-3b16beb61b88_700x599.jpeg 1456w" sizes="auto, 100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Its inference hardware avoids the need for an additional AI HAT or USB accelerator. PiShop US <a href="https://www.pishop.us/product/raspberry-pi-ai-camera/">lists the Raspberry Pi AI Camera at $74.95, in stock</a>.</p><p>You will also need a 32 GB or larger microSD card, a reliable 5V micro-USB power supply, a camera mount, and a feeder positioned close enough to capture clear photographs.</p><p>Pay attention to the ribbon cable. The <a href="https://www.raspberrypi.com/documentation/computers/zero.html">Pi Zero&#8217;s camera connector is the smaller 22-pin type</a>. Use a compatible standard-to-mini cable rather than assuming a cable from an older Raspberry Pi will fit.</p><div class="callout-block" data-callout="true"><p>Budget roughly $110&#8211;$140 for a complete basic setup with power, storage, mounting materials, and a cable, before shipping or taxes. A feeder itself may cost extra.</p></div><p>The hardware can remain indoors, looking through a clean window toward an outdoor feeder. This avoids building a weatherproof electronics enclosure.</p><div id="youtube2-V2frBYX62LU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;V2frBYX62LU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/V2frBYX62LU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong>Step 1</strong>: Install Raspberry Pi OS</h3><p>Start with a fresh microSD card and <a href="https://www.raspberrypi.com/software/">Raspberry Pi Imager</a>.</p><p>TitPi documents Raspberry Pi OS Bookworm 64-bit. As of October 2026, Bookworm is available as Raspberry Pi OS Legacy, while newer Raspberry Pi OS releases use Trixie. Use Legacy Bookworm 64-bit Lite for the closest match to the project&#8217;s documented setup.</p><p>In Raspberry Pi Imager, configure the hostname as <code>titpi</code>, create the username <code>titpi</code> with a strong password, add your Wi-Fi credentials, and enable SSH.</p><p>After flashing the card, insert it into the Raspberry Pi, connect the camera ribbon with the power disconnected, and boot the board.</p><div id="youtube2-O4IQE2E8oOw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;O4IQE2E8oOw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/O4IQE2E8oOw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Open a terminal on your computer and connect:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;908be660-5f11-418f-a269-e601400bcd60&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">ssh titpi@titpi.local</code></pre></div><p>Once connected, update the operating system and install the camera dependencies:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;47e4518b-50f3-48b4-a690-0163b624ee9b&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sudo apt update
sudo apt full-upgrade -y

sudo apt install -y \
  git python3-venv \
  imx500-all python3-picamera2 \
  python3-flask python3-requests \
  python3-pil python3-numpy ffmpeg

sudo reboot</code></pre></div><p>The initial AI Camera firmware load may take several minutes. Allow that first load to finish before treating the delay as an installation failure. The camera test below gives you a separate checkpoint before TitPi and its classifier enter the picture.</p><p>After reconnecting, confirm the camera works by capturing a photograph:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;409e23a8-60a6-405b-accb-4f82eaf3c8ad&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">rpicam-still -o test.jpg -t 2000</code></pre></div><p>Check that <code>test.jpg</code> exists before installing the bird-identification software.</p><h3><strong>Step 2</strong>: Download and configure TitPi</h3><p>Download the <a href="https://github.com/renanfernandes/titpi">TitPi source code</a> to the directory expected by its service files:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;27e318af-81e9-4942-a161-71f4712615ad&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">git clone https://github.com/renanfernandes/titpi.git \
  /home/titpi/titpi

cd /home/titpi/titpi

cp config_example.json config.json</code></pre></div><p>Create a Python virtual environment that can still access the camera libraries installed through Raspberry Pi OS:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;3bd659ad-810b-45f5-8b71-82bdc1871e70&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">python3 -m venv --system-site-packages .venv

.venv/bin/python -m pip install ai-edge-litert</code></pre></div><p>This avoids installing Python packages into the operating system with <code>--break-system-packages</code>.</p><p>The published source also has an import that needs correcting. The checked-in <code>watcher.py</code> imports <code>notifier_lcd</code>, but that file is excluded from the repository. The regular notification module is available.</p><p>Correct the import:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;185fd676-8f02-4bca-ae39-586185435db4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sed -i \
  's/from notifier_lcd import send_detection_email/from notifier import send_detection_email/' \
  watcher.py</code></pre></div><p>This allows the watcher to use the supplied notification module. Email alerts remain optional.</p><div><hr></div><h3><strong>Step 3</strong>: Install the local bird-identification model</h3><p>TitPi&#8217;s species classifier uses Google&#8217;s AIY Birds V1 model, which supports roughly 964 bird species.</p><p>The source repository includes the species-label files but excludes the <code>.tflite</code> model itself. You must supply it separately.</p><p>Google&#8217;s <a href="https://www.kaggle.com/models/google/aiy/tfLite/vision-classifier-birds-v1/3">AIY bird-classification model is available through Kaggle</a>. TensorFlow&#8217;s published documentation also provides this download command:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;80267c0c-aab9-40e4-864c-aaa1cba2811f&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">cd /home/titpi/titpi

curl -fL --retry 3 \
  'https://tfhub.dev/google/lite-model/aiy/vision/classifier/birds_V1/3?lite-format=tflite' \
  -o aiy_birds_v1.tflite</code></pre></div><p>The legacy TensorFlow Hub download endpoint could not be independently confirmed as working during this review. If it fails or downloads an HTML page, use the official Kaggle model download instead and save the model as <code>aiy_birds_v1.tflite</code>.</p><p>Check that the downloaded file is a genuine TensorFlow Lite model before proceeding:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;94a8383a-2d7a-4983-8090-fceb8b429c46&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">python3 -c '
with open("aiy_birds_v1.tflite", "rb") as f:
    f.seek(4)
    assert f.read(4) == b"TFL3", "Invalid TFLite file"
print("Model header OK")
'</code></pre></div><p>The expected result is <code>Model header OK</code>. That confirms the file format, although it doesn&#8217;t prove the model will load or produce accurate predictions.</p><p>Keep the model and TitPi&#8217;s label files together in <code>/home/titpi/titpi/</code>.</p><div><hr></div><h3><strong>Step 4</strong>: Disable cloud identification</h3><p>TitPi can identify birds locally, but its optional fallback changes where uncertain photographs are processed. Check this configuration before leaving the watcher running.</p><p>The <a href="https://github.com/renanfernandes/titpi/blob/main/bird_id.py">TitPi identification code tries local classification first</a>. When the confidence is too low, it can send the photograph to a hosted model through GitHub Models if a token is configured.</p><p>For a local-only build, leave the GitHub token empty and keep the local classifier enabled.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w7KU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w7KU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 424w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 848w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 1272w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!w7KU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;TitPi local identification flow: the IMX500 detects birds, AIY Birds V1 predicts species on the Pi Zero 2 W, and SQLite and the dashboard record visits. An empty GitHub token disables hosted identification.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="TitPi local identification flow: the IMX500 detects birds, AIY Birds V1 predicts species on the Pi Zero 2 W, and SQLite and the dashboard record visits. An empty GitHub token disables hosted identification." title="TitPi local identification flow: the IMX500 detects birds, AIY Birds V1 predicts species on the Pi Zero 2 W, and SQLite and the dashboard record visits. An empty GitHub token disables hosted identification." srcset="https://substackcdn.com/image/fetch/$s_!w7KU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 424w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 848w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 1272w, https://substackcdn.com/image/fetch/$s_!w7KU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf30ae6d-dc20-4c9c-abcc-489f6e509c19_1800x1050.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">TitPi separates camera detection from local species identification and visitor records. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Edit <code>config.json</code>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;fb2e9c90-c3d3-46b2-984b-4bc17f7108df&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">nano config.json</code></pre></div><p>Make sure the corresponding sections contain these values:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;json&quot;,&quot;nodeId&quot;:&quot;288995b4-b1f9-4140-9038-a34e5906e2c6&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-json">"github": {
  "token": "",
  "model": "",
  "identify_all": false
},
"local_classifier": {
  "enabled": true,
  "min_confidence": 0.3
}</code></pre></div><p>Keep the existing camera settings intact. Change <code>target_labels</code> to <code>["bird"]</code> if you only want bird detections.</p><p>With no GitHub token, the code does not invoke the hosted fallback. An uncertain bird may consequently be left unidentified or discarded. For this build, accepting an unidentified visit preserves the reason for choosing local identification in the first place. A species label is optional. Keeping photographs off a hosted identification service is the requirement.</p><div><hr></div><h3><strong>Step 5</strong>: Start the watcher and dashboard</h3><p>Before activating the background services, make their Python paths point to the virtual environment:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;ca0a467f-0959-4a0d-90bc-4629a3072752&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sed -i \
  's#/usr/bin/python3#/home/titpi/titpi/.venv/bin/python3#' \
  services/titpi.service services/titpi-web.service</code></pre></div><p>Install the two services:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;50fe81af-8a83-45ae-b73a-5e915de606a0&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sudo cp services/titpi.service \
  services/titpi-web.service /etc/systemd/system/

sudo systemctl daemon-reload

sudo systemctl enable --now \
  titpi.service titpi-web.service</code></pre></div><p>To inspect the watcher:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;823b9d5a-b820-4737-acd4-4deb88e8430e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sudo journalctl -u titpi.service -n 50 --no-pager</code></pre></div><p>Look for camera initialization followed by <code>Watcher Active</code>. If the service crashes, the journal output is the first place to look.</p><p>The dashboard should now be available at:</p><pre><code><code>http://titpi.local:8080</code></code></pre><p>The dashboard will initially be empty. Wait for the camera to record detections before expecting species records or visitor activity to appear. An empty page at this stage does not, by itself, show that identification has failed.</p><p>Once birds start visiting, the application can display photographs, species names, activity charts, and recent detections.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bDX-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bDX-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 424w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 848w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 1272w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!bDX-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png" width="1517" height="837" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:837,&quot;width&quot;:1517,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1764702,&quot;alt&quot;:&quot;TitPi dashboard showing saved bird photographs, predicted species, recent visits, and an activity chart from a local Raspberry Pi bird feeder.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222568790?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ec16c5a-2c8e-4078-bf10-4132c4c9a99f_1647x955.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="TitPi dashboard showing saved bird photographs, predicted species, recent visits, and an activity chart from a local Raspberry Pi bird feeder." title="TitPi dashboard showing saved bird photographs, predicted species, recent visits, and an activity chart from a local Raspberry Pi bird feeder." srcset="https://substackcdn.com/image/fetch/$s_!bDX-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 424w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 848w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 1272w, https://substackcdn.com/image/fetch/$s_!bDX-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F168afdb7-f027-4ff1-a5c0-8856411a120d_1517x837.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">TitPi&#8217;s local dashboard brings bird photographs, species predictions, and visitor activity together. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><div><hr></div><h3><strong>Step 6</strong>: Check whether the system identifies birds correctly</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Start by <em>aiming the camera</em> so visiting birds occupy a substantial part of the image. Small birds against a large background give the classifier less useful visual information.</p><p>TitPi&#8217;s current classification script resizes the photograph for the AIY model. It does not independently guarantee a tight crop around every detected bird.</p><p>That limits accuracy when birds are far away. A working detector can therefore trigger photographs while the species classifier still receives too little bird detail to make a useful prediction. Check the saved image before assuming the model needs replacing.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>For a useful first evaluation, <em>collect 20&#8211;30 manually identifiable photographs</em> and compare the predictions against your own observations.</p><p>Record four outcomes: correct species, incorrect species, bird present but unidentified, and false detection.</p><p>A confidence score is the model&#8217;s estimate. It is not a guarantee of accuracy. A prediction of 80% does not establish that the identification is correct.</p><p>Look for mistakes involving similar species, juvenile plumage, shadows, and birds facing away from the camera. Correct obvious errors through the dashboard rather than treating every AI-generated label as a verified wildlife observation.</p><div id="youtube2-NtFzp48AgBo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;NtFzp48AgBo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/NtFzp48AgBo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><strong>Step 7</strong>: Test that identification really works offline</h3><p>Leave the Raspberry Pi connected to your local Wi-Fi but block its internet access through your router. That preserves access to the local dashboard.</p><p>Then observe the feeder and check the watcher logs.</p><p>If the camera detects birds and new species records appear while external internet access is blocked, you have demonstrated that the essential detection, classification, and logging path works locally.</p><p>A stronger check uses the router&#8217;s connection logs to confirm no successful outbound requests were made during the test.</p><div id="youtube2-HHDgLbNqVKA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;HHDgLbNqVKA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/HHDgLbNqVKA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A dashboard on your local network still needs sensible access limits. TitPi&#8217;s Flask application listens on the local network without built-in user authentication. Don&#8217;t forward port 8080 through your router or expose it directly to the public internet.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Common problems and how to fix them</h3><h4>The camera works, but no birds are detected</h4><blockquote><p>Confirm that the configured IMX500 model exists in <code>/usr/share/imx500-models/</code>. Check the camera ribbon and look for IMX500 initialization errors in the service journal.</p><p>The detector may also be struggling with distance, glare, or the camera angle. Bring the feeder closer before changing sensitivity thresholds.</p><div><hr></div></blockquote><h4>Bird detections appear, but species names are missing</h4><blockquote><p>Check that <code>aiy_birds_v1.tflite</code> is present and that the local classification runtime loads correctly. Inspect <code>journalctl</code> for errors mentioning the classifier.</p><p>If the model isn&#8217;t available, the fully offline configuration has no hosted fallback to rescue the identification.</p><div><hr></div></blockquote><h4>The system misses short visits</h4><blockquote><p>Decrease the confirmation-frame requirement cautiously and review the cooldown setting.</p><p>Both controls reduce repeated or accidental detections, but aggressive settings can miss birds that land and leave quickly.</p><div><hr></div></blockquote><h4>Photographs are poor through the window</h4><blockquote><p>Move the camera closer to the glass, avoid reflections from indoor lights, and adjust its position so the bird is clearly visible.</p><p>Better photographs are usually more valuable than changing recognition models immediately.</p><div><hr></div></blockquote><h3>Build a local AI bird feeder you can check and improve</h3><p>A Raspberry Pi AI bird feeder is worth building if you want to experiment with wildlife observation and local computer vision. The IMX500 provides a useful introduction to running object detection on inexpensive hardware, and TitPi adds a practical local dashboard.</p><p>Other projects demonstrate different approaches. <a href="https://github.com/Nachtzuster/BirdNET-Pi">BirdNET-Pi identifies birds from sound rather than photographs</a>, while <a href="https://github.com/christianloth/bird-feeder-ai">Bird Feeder AI uses a Raspberry Pi 5 with a Hailo accelerator</a> for a more demanding camera pipeline.</p><p>The simpler IMX500 approach is a sensible place to begin for this camera-based project. You can produce a useful local record of visiting birds without maintaining a large AI computer or paying for image-analysis requests.</p><p>There is also room to experiment with other household camera projects. Our <a href="https://www.popularai.org/p/diy-ai-fridge-camera-home-assistant">DIY AI refrigerator camera guide</a> shows another way to turn inexpensive camera hardware into a practical computer-vision system.</p><p>Start with the camera, local classifier, and dashboard. Once you can consistently recognize common visitors, improve the camera position and use your corrected photographs to judge whether the AI is actually doing its job.</p><div><hr></div><h4><em><strong>More on AI camera applications:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7a8b9827-2125-4ceb-9793-6d81559bbe2e&quot;,&quot;caption&quot;:&quot;A DIY AI fridge camera does not need continuous video, custom machine-learning code, or an expensive smart refrigerator. A cheap ESP32-CAM, a magnetic door sensor, Home Assistant, and a visi&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Someone put an AI camera inside a refrigerator. Here's how to build one&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-10-10T18:16:12.656Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Tgrn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F89ab8a63-428c-471a-97f4-2b1629963c4e_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/diy-ai-fridge-camera-home-assistant&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:219750558,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/diy-ai-bird-feeder-raspberry-pi/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[The people training AI say they're being surveilled. Scale AI disputes the allegations]]></title><description><![CDATA[Five European complaints challenge Scale AI&#8217;s Outlier tracking and biometric checks. What its policies disclose, what Scale disputes, and workers&#8217; options.]]></description><link>https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints</link><guid isPermaLink="false">https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Tue, 03 Nov 2026 15:19:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!auxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!auxY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!auxY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!auxY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!auxY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!auxY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!auxY!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Editorial illustration of an AI freelancer using Outlier, with a magnifying lens framing the laptop and hands to represent scrutiny of worker data.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Editorial illustration of an AI freelancer using Outlier, with a magnifying lens framing the laptop and hands to represent scrutiny of worker data." title="Editorial illustration of an AI freelancer using Outlier, with a magnifying lens framing the laptop and hands to represent scrutiny of worker data." srcset="https://substackcdn.com/image/fetch/$s_!auxY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!auxY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!auxY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!auxY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4517a192-437b-4803-b71e-8a9b37fc0274_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Outlier worker surveillance complaints put tracking and identity checks under scrutiny. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>For the freelancers helping train AI systems, access to paid work can come with identity checks and screen monitoring. Five European privacy complaints against Scale AI&#8217;s Outlier platform challenge how much information the company collects about those workers, and whether it has lawful grounds to collect it.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>On October 27, 2026, privacy group noyb <a href="https://noyb.eu/en/ai-training-platform-outlier-illegally-surveils-european-platform-workers">filed five GDPR complaints in France, Italy, the Netherlands, and Austria</a>. Scale AI <a href="https://www.reuters.com/business/scale-ai-rejects-claims-it-illegally-surveils-ai-training-workers-2026-10-28/">rejected the allegations on October 28</a>, saying its practices are disclosed and contributors agree to them. Regulators have not established wrongdoing.</p><p>However, the dispute raises a practical question for anyone earning money through an AI training platform: how much information does a company need to verify freelance work, and how much choice remains when refusing a check can mean losing access to paid tasks?</p><div><hr></div><h3>What the complaints say Outlier collects</h3><p>Outlier contributors write prompts, evaluate model responses, and perform other tasks used to develop AI systems. Noyb says the platform has more than 900,000 freelance contributors. That figure describes the platform&#8217;s reported scale. It does not establish how many workers were allegedly monitored or represented in the five complaints.</p><p>The complaints raise three separate concerns. First, noyb alleges that third-party trackers associated with services including TikTok, LinkedIn, Facebook, Sprig, and Datadog send information such as IP addresses, identifiers, and page details while contributors use Outlier.</p><p>Researchers identified <a href="https://www.reuters.com/business/privacy-group-files-complaints-against-scale-ai-over-alleged-worker-surveillance-2026-10-27/">as many as 19 trackers and described activity records that could be reconstructed into a replay of a work session</a>, Reuters reported. Those are researchers&#8217; findings and allegations, rather than an independently established account of every contributor&#8217;s experience.</p><div id="youtube2-6gteQEZ-IZY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6gteQEZ-IZY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6gteQEZ-IZY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Second, workers allegedly face repeated identity verification through Persona, including government-ID images and facial video. Third, noyb says four contributors sought access to their personal data and received no answer. Scale disputes the complaints as a whole.</p><p>These allegations concern different methods of collecting data. Advertising and analytics trackers operate differently from an application deliberately recording a work screen. A facial identity check raises further questions about biometric information. Treating all three as a single monitoring system would obscure what each collects and which legal justification applies.</p><div><hr></div><h3>What Outlier&#8217;s published policies acknowledge</h3><p>Outlier&#8217;s <a href="https://outlier.ai/legal/privacy-policy">March 2026 privacy policy</a> states that Scale may collect identification documents, selfies, facial measurements, activity records, device identifiers, and information obtained through cookies and pixel tags. It names Persona as an identity-verification provider and says verification data can be retained for up to two years after a contributor&#8217;s last interaction, subject to legal requirements. The policy also describes sharing personal information with social-media and advertising networks for marketing purposes.</p><div id="youtube2-6tUefosFYWk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6tUefosFYWk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6tUefosFYWk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A separate <a href="https://app.outlier.ai/legal/screen-monitoring">screen-monitoring notice dated August 19, 2026</a> says monitored projects can take screen images approximately once per minute and, in some circumstances, record video. Captures can include other tabs, notifications, personal content, or information about third parties. Scale says ordinary screen captures are deleted after seven days unless selected for an investigation, while screen video can be retained for 90 days, subject to stated exceptions.</p><p>Scale says this monitoring tool cannot capture webcam footage, microphone audio, or keystrokes outside what is visible on the screen. The notice also says automated detections can lead to account suspension or withheld payment, potentially on a single capture in severe cases.</p><div id="youtube2-mQDTzrXIL9k" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;mQDTzrXIL9k&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/mQDTzrXIL9k?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The screen-monitoring notice governs that particular tool. Its stated limits do not establish what the disputed third-party web trackers collect, or whether those trackers operate under the same restrictions. Likewise, the tool&#8217;s exclusion of webcam footage does not describe Persona&#8217;s separate facial verification process.</p><p>In its response reported by Reuters, Scale said verification and monitoring protect against fraud, preserve client confidentiality, and ensure accurate payments. It said contributors manually activate the screen-recording tool on applicable projects. Scale also said it neither sells contributors&#8217; personal data nor uses that information to train customers&#8217; AI models.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Can consent be meaningful when payment depends on it?</h3><p>Scale&#8217;s own documentation complicates the consent argument. Although its public response emphasizes workers agreeing to its practices, the screen-monitoring notice explicitly says Scale does not rely on GDPR consent for screen monitoring. Instead, it invokes legitimate interests under Article 6(1)(f). The browser&#8217;s screen-sharing prompt provides technical permission to capture the selected screen or window. Scale does not treat that prompt as legal consent to process the data.</p><p>The same notice says contributors can refuse monitoring, but then cannot start or continue paid sessions on projects that require it. Scale says refusing does not remove them from Outlier or prevent work on unmonitored projects. A contributor can therefore decline the monitoring while losing access to the paid session that requires it.</p><p>The European Commission&#8217;s GDPR guidance says <a href="https://commission.europa.eu/law/law-topic/data-protection/information-business-and-organisations/legal-grounds-processing-data_en">consent must be freely given, while legitimate interests require weighing business needs against individuals&#8217; rights</a>. Fraud prevention may justify some checks. It does not automatically justify every tracker, repeated face scan, or data transfer. Biometric processing used for unique identification can face additional requirements under GDPR Article 9.</p><p>Telling workers about surveillance does not, by itself, establish that the collection is necessary or lawful. Regulators will have to assess the specific processing operations and the legal grounds claimed for each, rather than accept or reject every form of tracking together.</p><div id="youtube2-Eq_Wn06nWaQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Eq_Wn06nWaQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Eq_Wn06nWaQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>What Outlier workers can do now</h3><p>For contributors on monitored projects, the immediate privacy step is to <strong>separate work from personal activity</strong>. Close personal tabs and notifications before sharing a window or screen. Doing so reduces incidental exposure, but it cannot resolve the legality of background trackers or identity checks. The precautions address what can appear in a screen capture.</p><p><strong>European contributors</strong> can request access to the data Outlier holds about them, including verification information, monitoring records, recipients, retention periods, and information about automated decisions. Outlier lists <a href="mailto:privacy@scale.com">privacy@scale.com</a> for monitoring requests and <a href="mailto:privacy@outlier.ai">privacy@outlier.ai</a> in its general privacy policy.</p><div id="youtube2-uQeKVE05IgU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uQeKVE05IgU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uQeKVE05IgU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Workers can also object to processing based on legitimate interests and complain to their national data-protection authority. <a href="https://commission.europa.eu/law/law-topic/data-protection/information-business-and-organisations/dealing-requests-individuals_en">Access requests should ordinarily receive a response within one month</a>, according to EU guidance. None of these rights guarantees an immediate outcome in a disputed case.</p><div><hr></div><h3>Scale AI&#8217;s privacy case turns on necessity</h3><p>A platform can have legitimate reasons to prevent fraud and protect sensitive client material while still collecting more worker information than necessary. The five complaints ask regulators to decide where that line falls for Outlier&#8217;s tracking and identity checks.</p><p>Until those questions are resolved, neither Scale&#8217;s denial nor noyb&#8217;s allegations amount to a verdict. For workers, the immediate steps are concrete: reduce what can appear in screen captures, request the records held about them, and use the available objection and complaint channels to challenge disputed processing.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/scale-ai-outlier-surveillance-complaints/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Does Immich need a GPU? CPU vs Intel Graphics vs NVIDIA for private AI photo search]]></title><description><![CDATA[Does Immich need a GPU for Smart Search? Compare CPU-only servers, Intel OpenVINO, NVIDIA CUDA and remote ML before spending money.]]></description><link>https://www.popularai.org/p/does-immich-need-gpu</link><guid isPermaLink="false">https://www.popularai.org/p/does-immich-need-gpu</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Tue, 03 Nov 2026 01:34:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H_mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H_mH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H_mH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H_mH!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Immich GPU upgrades make sense for recurring heavy processing&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Immich GPU upgrades make sense for recurring heavy processing" title="Immich GPU upgrades make sense for recurring heavy processing" srcset="https://substackcdn.com/image/fetch/$s_!H_mH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!H_mH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F531de52b-2a0a-404b-8bbf-236bc2529ffa_1664x936.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Does Immich need a GPU? CPU vs Intel vs NVIDIA for Smart Search. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>No. Immich does not need a dedicated GPU for private AI photo search. For most home libraries, start with the CPU already running your NAS or mini PC. A supported Intel integrated GPU can take work off that CPU. NVIDIA acceleration becomes attractive when you repeatedly process large imports or run other GPU-heavy services.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/does-immich-need-gpu?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/does-immich-need-gpu?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The expensive mistake is buying hardware to accelerate an indexing job that mostly happens once. Even a modest card such as the <a href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20">MSI RTX 3050 LP 6GB</a> needs a recurring workload to justify its cost.</p><p>Disclosure: Popular AI may earn a commission if you buy through some links in this article. That does not change our recommendations.</p><div><hr></div><h3>Quick verdict: which hardware does Immich need?</h3><blockquote><p>Buy nothing: Start with an existing four-core CPU, sufficient RAM and the ordinary Immich machine-learning container. A slow initial import can be acceptable if daily searches work well afterward.</p></blockquote><blockquote><p>Use Intel graphics: If your always-on server already has compatible Intel integrated graphics, try OpenVINO before replacing the machine. Buy an Intel mini PC when you need a new server, because an iGPU alone does not guarantee faster search.</p></blockquote><blockquote><p>Add NVIDIA only for a sustained bottleneck: CUDA is the more dependable acceleration route for large recurring imports, shared servers and machines already equipped with a GPU. Consider an <a href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20">MSI RTX 3050 LP 6GB</a> only if that workload justifies a purchase. A spare gaming PC can handle remote jobs, provided you plan for when it&#8217;s off.</p></blockquote><div><hr></div><h3>What Immich actually asks the hardware to do</h3><p>Immich&#8217;s <a href="https://docs.immich.app/features/searching/">Smart Search uses CLIP-style embeddings</a> to match descriptions such as &#8220;dog on a snowy beach&#8221; with photos. During initial indexing, machine learning processes image previews and saves searchable representations in the database. Later uploads need the same treatment.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Face detection is another machine-learning job, while matching and grouping already detected faces involves the Immich server and database.</p><p>An ordinary search still needs machine learning. The words you type must be encoded into a compatible embedding before Immich can search its existing image vectors. Processing all your photos in advance does not eliminate that query-time work.</p><p>A fast GPU can therefore finish the initial photo processing much sooner without producing a corresponding improvement in everyday search responsiveness. Model loading, CPU resources, storage and the chosen search model still affect the experience. Judge the upgrade by the operation you actually find slow.</p><p>Immich&#8217;s <a href="https://docs.immich.app/FAQ/">performance advice separates throughput from latency</a>. Increasing job concurrency can improve throughput, or the number of assets processed over time. It does not automatically reduce latency, or the time required to answer a search query. Raising concurrency also consumes more memory and can overwhelm a modest server.</p><p>Think about the library in two phases. If you import 5,000 photos once and then add a handful a day, there&#8217;s little reason to optimize for peak indexing speed. If you ingest tens of thousands of new files regularly, share the machine with other containers or repeatedly rebuild indexes, acceleration becomes more compelling. These are workload examples, not benchmark-derived thresholds.</p><p>Separate machine learning from video encoding, too. Intel Quick Sync and NVIDIA NVENC are relevant to <a href="https://docs.immich.app/features/hardware-transcoding/">hardware video transcoding</a>, which is a different configuration and workload. Working hardware transcoding does not establish that Immich&#8217;s OpenVINO or CUDA machine-learning backend is configured correctly.</p><div id="youtube2-6m6wDWvcFuo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6m6wDWvcFuo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6m6wDWvcFuo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>How these Immich hardware choices were evaluated</h3><p>The baseline comes from Immich&#8217;s installation requirements, machine-learning documentation and October 2026 release notes. Hardware examples were checked against manufacturer configurations and U.S. listings on October 29, 2026. The comparison emphasizes always-on availability, software support, RAM, upgrade cost, power and the difference between batch indexing and interactive queries.</p><p>There is no controlled, cross-platform Immich benchmark here establishing how much faster a specific Intel mini PC or RTX card will index the same library than an existing CPU.</p><p>In a <a href="https://github.com/immich-app/immich/discussions/8104">2024 comparison of OpenVINO and CPU processing</a>, one i5-10500 owner reported around two assets per five seconds at two concurrent jobs using either Intel UHD 630 graphics or the CPU.</p><div class="callout-block" data-callout="true"><p>That&#8217;s an old, single-user result with a specific model and software configuration. It cannot establish that OpenVINO never helps. Newer Immich optimizations make the result even less transferable to a purchase today.</p></div><div><hr></div><h3>Three practical configurations for Immich</h3><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">1. </span><strong>Existing CPU-only NAS or office PC</strong>: the starting point for most people</h4><p>Immich&#8217;s <a href="https://docs.immich.app/install/requirements/">minimum requirements are two CPU cores and 6GB RAM</a>, with four cores and 8GB recommended. Those figures apply to the server, without promising quick initial indexing. For a machine running NAS services, containers and the database alongside Immich, 16GB gives useful breathing room if you already have it.</p><p>A relatively recent Intel Core i5 or AMD Ryzen machine can be a reasonable CPU-only host. Put the Postgres database on a local SSD, as Immich recommends, rather than a network-mounted database directory. Keep originals on appropriate NAS storage, maintain a separate backup and leave space for generated thumbnails and video derivatives.</p><p>Check older bargain hardware carefully. Immich 3&#8217;s x86 machine-learning image requires the x86-64-v2 instruction level. An ancient processor might boot Linux and Docker but fail at the machine-learning container. Buying a GPU does not automatically fix that CPU compatibility problem.</p><div id="youtube2-shlKW5T89ks" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;shlKW5T89ks&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/shlKW5T89ks?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>If you have no usable server, a refurbished office mini PC is one low-cost route. A <a href="https://www.ebay.com/itm/326279891837">Dell OptiPlex 7060 Micro with an i5-8500T, 16GB RAM and 256GB SSD</a> appeared on a U.S. refurbished listing at $229.95 at the time of publication.</p><p>Verify the power adapter, storage, seller condition and warranty because refurb listings vary. The Dell works as an always-on compute node, rather than a box for several internal photo drives. A complete system at that price can make more sense than adding a GPU to a very old NAS, especially when the older machine also lacks RAM or suitable database storage.</p><p>Before spending even that, reduce competing work. Immich <a href="https://docs.immich.app/FAQ/">recommends lowering job concurrency to one</a> during a difficult initial import and limiting transcoding threads if necessary. The backlog will take longer, but the server should remain usable. A completed index does not need to be regenerated simply because you later enable acceleration.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">2.</span><strong><span data-color="#00c89a" style="color: rgb(0, 200, 154);"> </span>Intel OpenVINO</strong>: useful when a new compact server is already justified</h4><p>Immich <a href="https://docs.immich.app/features/ml-hardware-acceleration/">supports OpenVINO acceleration for Intel graphics</a>, including Iris Xe and Arc. OpenVINO can reduce CPU load on supported hardware, although integrated GPUs, especially older ones, are more likely to encounter driver or memory problems. Immich also warns that OpenVINO can use more system RAM than CPU processing.</p><p>Check which Intel graphics unit you&#8217;re getting. A basic N150 mini PC has a much smaller graphics subsystem than higher-end Iris Xe or Arc-equipped hardware. The presence of an Intel GPU, Quick Sync or an advertised NPU does not promise a particular Immich speedup. The OpenVINO container, supported graphics driver, Linux kernel and device access must all work together.</p><div id="youtube2-oK7Bum1x_dI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oK7Bum1x_dI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/oK7Bum1x_dI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For a concrete always-on option, the <a href="https://us.bee-link.com/products/beelink-eq14-n150">Beelink EQ14 N150 with 16GB DDR4, a 500GB SSD and dual 2.5GbE ports</a> was listed for $385 by Beelink&#8217;s U.S. store. That configuration was marked preorder. It has a four-core N150 and 24-execution-unit Intel UHD Graphics.</p><p>Its 16GB memory ceiling limits future expansion, and the tiny chassis cannot accept a normal desktop graphics card. The EQ14 is worth considering if you need a compact NAS companion anyway. It&#8217;s a poor $385 purchase just to find out whether OpenVINO processes photos faster than your current CPU.</p><p>If you already own an Intel-based server, try the supported OpenVINO machine-learning image and confirm the GPU is actually being used. Compare the same kind of processing work before deciding whether to keep it enabled. If the work takes roughly the same time, return to CPU inference instead of spending more to chase a theoretical acceleration advantage.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3. </span><strong>NVIDIA CUDA</strong>: for repeated heavy machine-learning jobs</h4><p>Immich&#8217;s <a href="https://docs.immich.app/features/ml-hardware-acceleration/">CUDA backend is its most reliable acceleration option for model compatibility</a>. It still requires supported NVIDIA drivers and, on native Linux, the NVIDIA Container Toolkit. The documented requirements specify CUDA compute capability 5.2 or higher and driver version 545 or newer. VRAM and model choice can impose further limits.</p><p>For a desktop with a spare expansion slot, the <a href="https://us-store.msi.com/GeForce-RTX-3050-LP-6G-OC">MSI GeForce RTX 3050 LP 6G OC at a listed $279.99</a> is a modest example. It has 6GB GDDR6, a 70W board-power rating, a low-profile bracket and a two-slot cooler.</p><p>The card needs an appropriate PCIe slot, clearance, ventilation and power supply. It will not fit inside the typical tiny N150 mini PC or Dell Micro chassis. &#8220;Low profile&#8221; does not make a desktop expansion card compatible with a sealed mini PC.</p><p>You can <a href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20">check the exact MSI RTX 3050 LP 6GB model on Amazon</a>. At the manufacturer&#8217;s $279.99 listed price, buying one solely to speed up occasional Immich imports is difficult to defend. The purchase needs to save you time often enough to justify adding hardware and another acceleration setup to maintain.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kiw3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!kiw3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;MSI RTX 3050 LP 6GB is an optional CUDA upgrade for recurring Immich imports&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20&quot;,&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="MSI RTX 3050 LP 6GB is an optional CUDA upgrade for recurring Immich imports" title="MSI RTX 3050 LP 6GB is an optional CUDA upgrade for recurring Immich imports" srcset="https://substackcdn.com/image/fetch/$s_!kiw3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!kiw3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86817c98-c90c-4155-8622-169e4c8f262e_1664x936.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20">MSI GeForce RTX 3050 LP 6G OC</a>: CUDA for recurring imports. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find RTX 3050 LP 6GB deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20"><span>Find RTX 3050 LP 6GB deals on Amazon</span></a></p><p>Newer RTX 50-series cards, higher-VRAM NVIDIA workstation boards and used RTX 3060/4060-class cards can also run relevant CUDA workloads where supported. Their extra cost or power needs justification from a broader AI workload. More VRAM is not a reason by itself to replace hardware that already handles your photo library.</p><div class="callout-block" data-callout="true"><p>An existing CUDA workstation is more attractive: its GPU can serve Immich indexing alongside other local-AI work. Buying an expensive graphics card for a family&#8217;s photo searches is usually hardware shopping in search of a problem.</p></div><p>AMD GPUs with ROCm and certain ARM/Rockchip accelerators are also <a href="https://docs.immich.app/features/ml-hardware-acceleration/">supported Immich backends</a>. They are legitimate paths for machines you already own, but ROCm driver coverage, image size and idle behavior complicate a fresh hardware purchase. Multi-GPU systems and premium workstation cards add cost without a convincing Immich-only case.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Before upgrading, use Immich&#8217;s newer ML optimizations</h3><p>The <a href="https://immich.app/blog/v3.3.0-release">October 7, 2026 release of Immich 3.3.0</a> introduced machine-learning improvements for CPU and GPU backends. The team says the optimized models use less memory and often process work faster, although gains differ by backend and model.</p><p>The release also addresses some previous OpenVINO output problems and adds TensorRT RTX optimizations for NVIDIA Ampere/RTX 30-series and later hardware. These changes give existing hardware another chance before you judge it too slow.</p><p>For improvements that rely on the new optimized models, configure <code>MACHINE_LEARNING_MODEL_REVISION=v2</code> on the machine-learning service. Immich says this revision produces numerically equivalent model outputs, so existing jobs do not need to be rerun. The first model load may take longer while optimization artifacts are prepared and cached.</p><p>Update compatible server and machine-learning containers together, then observe the real workload before shopping for an upgrade. Allow that first-load preparation to finish before judging the day-to-day experience.</p><div><hr></div><h3>Remote machine learning: what happens when the GPU PC is off?</h3><p>Remote processing is a middle ground for a weak NAS and a gaming computer you already own. Immich can <a href="https://docs.immich.app/guides/remote-machine-learning/">run its machine-learning container on another computer</a>, with the main server sending image previews to it for processing.</p><p>This moves Smart Search and face-detection inference. Database work and subsequent face grouping remain on the primary server, so the NAS still has work to do.</p><div id="youtube2-QHWNu_in0Zc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QHWNu_in0Zc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QHWNu_in0Zc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Search terms require machine-learning inference too. In a <a href="https://www.reddit.com/r/immich/comments/1t649ca/smart_search_clarification/">2026 report of Smart Search failing when a remote PC was off</a>, an owner of an older HP MicroServer found that newly indexed photos remained in Immich while text searches failed. The previews had been processed, but the query could no longer be converted into an embedding.</p><p>Add the remote machine-learning URL while retaining the local container as fallback, instead of replacing the local endpoint. Immich tries configured URLs sequentially, allowing the slower CPU to answer queries when the gaming PC is unavailable. A fast indexing machine is less useful if shutting it down also removes everyday search.</p><p><strong>The catch</strong> is that new uploads may then get processed on the weak NAS while the powerful machine is off. There is no built-in policy routing only large background jobs to the GPU and small interactive searches to the CPU. If you use only the remote endpoint, failed jobs can require manual retries through Job Status after it returns.</p><p>A remote ML container receives image previews and has no built-in authentication protection. Keep it on a trusted local network or behind a private VPN, never expose its port to the public internet, and keep remote and server versions aligned.</p><p>Turning on a second PC around the clock just for Immich may cost more in electricity and complexity than accepting slow background processing. Remote inference is easiest to justify when the second computer already has another reason to be running.</p><div><hr></div><h4><em><strong>More on hardware sharing on your local network:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b3624324-5837-4a96-93d3-0bebc657cbaa&quot;,&quot;caption&quot;:&quot;Families already have the raw material for a useful private AI system. Tax PDFs, school forms, insurance records, home manuals, receipts, trip plans, scanned paperwork, and years of household notes are already&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The best private family AI NAS build for 2026 with Open WebUI&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-26T15:04:43.888Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!yVTp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F412240e6-197c-43bf-971d-28c5e6e4db2e_2400x1573.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/the-best-private-family-ai-nas-build&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192070976,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Power, storage and the real upgrade decision</h3><p>A GPU&#8217;s peak power rating does not tell you its idle consumption, and a mini PC&#8217;s advertised processor TDP does not equal whole-system wall draw. The practical cost depends on what stays powered on, including whether an upgrade means running an entire second computer.</p><p>For illustration, 10W of additional continuous draw consumes 87.6kWh per year, or $17.52 at $0.20 per kWh. A second machine drawing 60W continuously would cost about $105 annually at the same rate. Those are arithmetic examples, not measurements of the products above.</p><p>Storage and RAM often deserve attention before compute. Immich <a href="https://docs.immich.app/install/requirements/">recommends keeping Postgres on local SSD</a>, and its estimated thumbnail/transcode overhead adds roughly 10&#8211;20% to library storage. Budget for the files Immich generates as well as the originals you import.</p><p>If Docker is swapping memory or the database sits on a network mount, a new GPU leaves the underlying problem untouched. Our <a href="https://www.popularai.org/p/the-best-private-family-ai-nas-build">private family AI NAS build</a> covers a larger, expandable home-server layout. The <a href="https://www.popularai.org/p/local-ai-ssd-storage">local-AI SSD guide</a> explains storage tradeoffs for mixed AI workloads.</p><p>For a few thousand personal photos and ordinary daily uploads, let the CPU finish indexing and leave the machine alone. For a big one-time migration, use a spare GPU computer temporarily, preferably with a local fallback. For a continuously growing multi-user collection, consider Intel acceleration on an existing server or NVIDIA CUDA on a machine with room and an ongoing reason to run it.</p><div id="youtube2-BrlOxXzs9Dg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BrlOxXzs9Dg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BrlOxXzs9Dg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>Start Immich on your CPU before buying a GPU</h3><p>Run Immich on your existing CPU first. Use current optimized models, put the database on an SSD and tune background concurrency before buying anything. Judge the server after the initial backlog has cleared, as well as while it&#8217;s working through an import.</p><p>If you need a new always-on host, buy adequate RAM and reliable storage first, with Intel OpenVINO as an option rather than a performance guarantee. Add a card such as the <a href="https://www.amazon.com/dp/B0CTJZCJH1?tag=popularai-20">MSI RTX 3050 LP 6GB</a> only when repeated processing work or other local-AI services make its total cost worthwhile.</p><p>The best private photo server is the one that stays available when someone actually wants to find a picture.</p><div><hr></div><h4><em><strong>More on local AI hardware:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c056ca04-061f-4c4d-be5a-3d771ab55da6&quot;,&quot;caption&quot;:&quot;If you are building a local AI PC, 2TB of NVMe storage is the sensible starting point for most people, while 4TB is the better long-term choice for serious local AI use. Spend money on capacity before c&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How much SSD storage do you need for local AI? NVMe vs SATA vs HDD explained&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-08-18T13:47:03.781Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!nd2N!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd041d998-466c-4b3f-9ada-a5a8513e12d1_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-ai-ssd-storage&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:211214542,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/does-immich-need-gpu/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/does-immich-need-gpu/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Elvis Presley’s songs put Claude’s training under legal scrutiny]]></title><description><![CDATA[Elvis Presley&#8217;s song rights holders want up to $41.1 million for alleged infringement. Here&#8217;s what their case against Anthropic does and doesn&#8217;t show.]]></description><link>https://www.popularai.org/p/elvis-presley-anthropic-lawsuit</link><guid isPermaLink="false">https://www.popularai.org/p/elvis-presley-anthropic-lawsuit</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Mon, 02 Nov 2026 15:03:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8QH6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8QH6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8QH6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8QH6!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:233464,&quot;alt&quot;:&quot;Editorial composite of Elvis Presley, manuscript text, and Claude&#8217;s logo illustrating the lawsuit over song lyrics and AI training&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222831453?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Editorial composite of Elvis Presley, manuscript text, and Claude&#8217;s logo illustrating the lawsuit over song lyrics and AI training" title="Editorial composite of Elvis Presley, manuscript text, and Claude&#8217;s logo illustrating the lawsuit over song lyrics and AI training" srcset="https://substackcdn.com/image/fetch/$s_!8QH6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!8QH6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9db20814-c095-4ede-b30b-48eb85614d1c_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Elvis Presley song rights holders challenge Anthropic&#8217;s use of lyrics to train Claude. <em>AI-modified</em> &#169; <a href="https://popularai.org">Popular AI</a></figcaption></figure></div><p>A text chatbot can face a song-copyright claim without even singing a note. The <a href="https://dockets.justia.com/docket/california/candce/5%3A2026cv12473/481999">Elvis Presley Anthropic lawsuit</a>, filed on October 23, 2026, brings alleged copying by Claude&#8217;s developer before a federal court. Companies and trusts that say they control rights to 274 compositions recorded by Presley accuse Anthropic of copying lyrics to develop Claude, retaining unauthorized copies, and producing infringing text. The claims concern the songs&#8217; underlying music and lyrics. They do not accuse Claude of cloning Presley&#8217;s voice.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/elvis-presley-anthropic-lawsuit?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/elvis-presley-anthropic-lawsuit?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>For AI developers, the dispute reaches from data collection to what a chatbot returns to users. For people using Claude to write, it raises a different concern: whether generated lyrics reproduce someone else&#8217;s work. A recognizable lyric in a response does not, by itself, establish where the model encountered it, what copies Anthropic kept, or whether a particular use was legally permissible.</p><div><hr></div><h3>What the Elvis Presley Anthropic lawsuit alleges</h3><p>The seven plaintiffs include ABG EPE IP LLC, music publishers, trusts, and an individual who say they own or control rights in the compositions. They sued Anthropic in the U.S. District Court for the Northern District of California, case 5:26-cv-12473. The <a href="https://chatgptiseatingtheworld.com/wp-content/uploads/2026/10/ABG_EPE_IP_LLC_et_al-v-Anthropic-Oct-23-2026.pdf">complaint filed on October 23</a> asserts three claims: direct copyright infringement, circumvention of technological protections, and removal or alteration of copyright-management information.</p><p>The affected catalog includes songs such as Can&#8217;t Help Falling in Love and Don&#8217;t Be Cruel. These are works Presley recorded, not necessarily songs he wrote. Under U.S. copyright law, a song&#8217;s composition and lyrics are legally separate from the particular sound recording of an artist performing it. The two rights are <a href="https://www.copyright.gov/engage/musicians/">commonly owned and licensed separately</a>. A text chatbot can potentially reproduce protected lyrics without producing a second of audio.</p><div id="youtube2-RkNtteIl_m4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;RkNtteIl_m4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/RkNtteIl_m4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The plaintiffs seek statutory damages of up to $41.1 million for their principal infringement claim, with additional sums sought under the Digital Millennium Copyright Act. They also ask for an injunction, an accounting of relevant training materials, and the destruction or impoundment of copies they characterize as unauthorized, potentially including material in datasets and model infrastructure. Those are requests for relief, not orders already issued. Anthropic <a href="https://pitchfork.com/story/elvis-presley-catalog-owners-sue-ai-company-anthropic-for-copyright-infringement/">disputes the claims and intends to defend the case fully</a>, according to its response to Pitchfork.</p><div><hr></div><h3>Training data, stored copies, and outputs are three different questions</h3><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Did Anthropic copy the songs to train Claude?</h4><p>The plaintiffs allege that lyrics reached Anthropic through large collections of online text, including Common Crawl and The Pile, and through other sources. They point to a YouTube-subtitles dataset that reportedly contains some works on their list. They also invoke evidence about Anthropic&#8217;s use of pirated book collections from a separate lawsuit.</p><p>Showing that a dataset contained a song is one step. Establishing that Anthropic used that text in a particular Claude training run requires evidence connecting the two. The complaint relies in part on allegations made on information and belief. Its list of 274 compositions establishes the scope of the copyrights being asserted, not 274 individually demonstrated instances of training-data inclusion. The filing <a href="https://copyrightnow.com/news/abg-epe-v-anthropic-elvis-presley-compositions-claude-lyrics-training-1201-cmi-copyright-complaint-ndcal/">names particular songs and datasets but relies in part on allegations still to be proved</a>.</p><p>Training logs, dataset snapshots, acquisition records, and preprocessing records could connect a disputed lyric to the material actually used. Even if the plaintiffs establish copying, the court would still need to consider whether the particular use qualifies as fair use.</p><div id="youtube2-F_8hKfVgwzg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;F_8hKfVgwzg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/F_8hKfVgwzg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Did it keep copies after training?</h4><p>The complaint says Anthropic maintained a general-purpose internal library containing the disputed works, separate from any single training run. Keeping a copy indefinitely can receive a different legal assessment from copying material for a defined training process. It also alleges that each new model contains unauthorized copies, a proposition requiring both technical evidence and legal analysis. Model weights cannot simply be treated as ordinary text files containing a library of lyrics.</p><p><a href="https://docs.justia.com/cases/federal/district-courts/california/candce/3%3A2024cv05417/434709/231">Bartz v. Anthropic, decided in June 2025</a> offers a relevant precedent. In that book-copyright case, a federal judge held that Anthropic&#8217;s specific LLM-training use was fair use, while rejecting fair use for acquiring and indefinitely keeping pirated books in a central library. The ruling did not establish that every AI training use is lawful, or that the Elvis lyrics were among those books. The sources and uses of copies must be examined separately.</p><div id="youtube2-eDZRgdmCm2A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eDZRgdmCm2A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/eDZRgdmCm2A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Did Claude reproduce protected lyrics?</h4><p>The plaintiffs also claim Claude has generated recognizable lyrics and derivative versions of songs, including after Anthropic introduced output restrictions. They describe a prompt asking Claude to recreate songs &#8220;for a modern audience&#8221; and cite the chatbot&#8217;s own assessment that its rewrites resembled originals. The filing, however, does not publicly provide a complete, song-by-song set of Elvis outputs demonstrating infringement for all 274 compositions.</p><p>A chatbot&#8217;s assessment of its own answer is no substitute for a copyright analysis. Its response also cannot establish its entire training history. A lyric might have appeared in training material, in a user&#8217;s prompt, in retrieved context, or in several overlapping online sources. Evaluating the claim would require the precise prompts and outputs, the model version, and the relevant records. Without those details, readers cannot tell what the system was given or how much of the response came from the disputed work.</p><p>If Claude reproduces substantial protected expression, there may be an output-infringement case regardless of whether it can sing. Yet writing in a familiar musical style is not automatically infringement. The contested question is whether the generated text copies protected expression closely enough, and what responsibility Anthropic bears for that output.</p><div id="youtube2-6DqSJ5uYtPg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6DqSJ5uYtPg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6DqSJ5uYtPg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>The DMCA claims target access controls and missing credits</h3><p>The lawsuit also invokes provisions of the Digital Millennium Copyright Act that reach beyond straightforward copying.</p><p>Under <a href="https://www.law.cornell.edu/uscode/text/17/1201">17 U.S.C. &#167; 1201</a>, the plaintiffs allege Anthropic circumvented measures protecting access to copyrighted material. The filing mentions website access restrictions, including authentication systems, paywalls, and anti-bot controls. Proving that a company scraped a website is not necessarily enough. This claim requires an applicable technological protection measure and evidence of legally relevant circumvention. A site&#8217;s terms of service or <code>robots.txt</code> instructions should not automatically be treated as an access-control system meeting the statute&#8217;s requirements.</p><p>Under <a href="https://www.law.cornell.edu/uscode/text/17/1202">17 U.S.C. &#167; 1202</a>, the plaintiffs allege that Anthropic stripped identifying details such as song titles, composer credits, and copyright ownership information when preparing data. The law addresses intentional removal or alteration of qualifying copyright-management information, along with a knowledge requirement tied to facilitating or concealing infringement. Losing page metadata through an automated cleanup process is not, by itself, proof that every element of this claim is satisfied.</p><p>Both claims put Anthropic&#8217;s data-acquisition tools and cleanup practices under scrutiny. They also offer potential <a href="https://www.law.cornell.edu/uscode/text/17/1203">civil remedies separate from ordinary copyright damages</a>, if violations are proved.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Can Anthropic argue that training on lyrics is fair use?</h3><p>Yes. The <a href="https://www.law.cornell.edu/uscode/text/17/107">Copyright Act&#8217;s four-factor test</a> considers the purpose of the use, the nature of the work, how much was copied, and the effect on relevant markets. There is no automatic answer covering every AI training use. The court must evaluate the particular copying and the evidence supporting each factor.</p><p>The Elvis plaintiffs can argue that song lyrics are highly creative, that entire works were copied, and that unlicensed training and generated substitutes threaten markets they could otherwise license. Anthropic can argue that training models to learn language patterns is transformative and that the plaintiffs must substantiate the claimed market harm. How Anthropic acquired the lyrics, which copies it retained, and what Claude generated will shape those arguments. A defense for one use would not automatically resolve every other alleged act of copying.</p><div id="youtube2-IFhF_tHrj4s" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;IFhF_tHrj4s&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/IFhF_tHrj4s?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The dispute is already playing out in related proceedings. In an <a href="https://www.reuters.com/legal/legalindustry/anthropic-music-labels-make-key-arguments-ai-training-case-2026-10-21/">October 21, 2026 hearing involving music publishers</a>, Anthropic and opposing publishers argued over transformative training and whether generated lyrics harm the market. That litigation has not resolved the Presley plaintiffs&#8217; claims.</p><div><hr></div><h3>What the Elvis lawsuit means for developers and Claude users</h3><blockquote><p>As of the time of publication, this is a newly filed civil lawsuit, <strong>not a finding</strong> that Claude infringed all 274 works. It does not itself prohibit users from asking Claude about Elvis or require a new consumer license.</p></blockquote><blockquote><p><strong>For model developers</strong>, the practical lesson is to preserve evidence about data provenance. Which sources were downloaded, under what access conditions, what identifying information was removed, and which copies remained after training? These details can determine the strength of a defense long after a model has been released.</p></blockquote><blockquote><p><strong>For creators and publishers</strong>, generated lyrics should be checked before commercial use. A model&#8217;s refusal to quote an entire copyrighted song is no guarantee that a rewrite avoids protected expression. Conversely, a model producing a recognizable line cannot establish on its own that a particular copyrighted file was used in training.</p></blockquote><div><hr></div><h3>The Elvis copyright fight will turn on copies and evidence</h3><p>The court may eventually have to decide whether particular copying was unauthorized, whether fair use applies, whether access controls or credits were improperly handled, and whether particular outputs infringe. Until that evidence is tested, declaring either side the winner would be premature.</p><p>The records to watch are the ones connecting particular songs to Anthropic&#8217;s datasets, retained files, and Claude&#8217;s outputs. Those records could establish what was copied and why. Presley&#8217;s voice makes the story recognizable, but the court&#8217;s copyright analysis will turn on the text behind the songs and what Anthropic did with it.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/elvis-presley-anthropic-lawsuit/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/elvis-presley-anthropic-lawsuit/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why AI coding agents still overwrite each other's work: Git Worktrees vs Containers]]></title><description><![CDATA[Run Claude Code and Codex in parallel without sharing test data or losing uncommitted work. Learn where Git worktrees help and when containers are needed.]]></description><link>https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers</link><guid isPermaLink="false">https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Mon, 02 Nov 2026 02:23:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7HbL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7HbL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7HbL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7HbL!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Git worktrees separate AI agents&#8217; code, while runtime resources need their own limits.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Git worktrees separate AI agents&#8217; code, while runtime resources need their own limits." title="Git worktrees separate AI agents&#8217; code, while runtime resources need their own limits." srcset="https://substackcdn.com/image/fetch/$s_!7HbL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!7HbL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2f29ed18-d500-4eeb-abe0-29a92fba075e_1600x900.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Worktrees separate code, not every resource an agent can reach. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Running Claude Code and Codex in parallel can save time until one agent resets the wrong checkout or clears the other&#8217;s test data. Give each agent a separate Git worktree, and they can edit different branches without constantly overwriting each other&#8217;s files.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Those separate directories solve the everyday code-editing collision. The agents can still interfere with resources outside their checkouts.</p><p>Both agents can still connect to the same development database, modify shared services, access credentials, or execute commands outside their assigned directories. A worktree keeps the checkouts separate. It doesn&#8217;t prevent an agent with sufficient permissions from damaging something elsewhere.</p><p>For a safer parallel coding setup, combine separate worktrees with isolated test data, restricted permissions, and a human-reviewed merge process. Use containers when the agents need their own services or stronger runtime separation.</p><div><hr></div><h3>The quick answer: Use worktrees for code, isolate execution separately</h3><blockquote><p>For <strong>two interactive coding agents</strong> working on a trusted project, separate Git worktrees are a sensible starting point. Each gets its own branch and working directory. You retain control over what reaches the main branch.</p></blockquote><blockquote><p>For <strong>agents running tests</strong>, databases, migrations, development servers, or unfamiliar code, give each agent a separate runtime as well. Docker containers can provide that separation, provided their volumes, networks, credentials, and host access are configured correctly.</p></blockquote><blockquote><p>If an agent will run <strong>unattended </strong>or execute potentially hostile code, consider a hardened container or disposable virtual machine with restricted filesystem and network access.</p></blockquote><p>Git worktrees have <a href="https://git-scm.com/docs/git-worktree.html">separate working files, </a><code>HEAD</code><a href="https://git-scm.com/docs/git-worktree.html"> values, and indexes, while sharing substantial repository metadata</a>. Each agent can stage its own patch without staging the other&#8217;s changes. Shared repository state still needs coordination.</p><p>Shared Git state is manageable when you know which operations affect other worktrees. The more dangerous assumption is that separate folders also protect the rest of your machine.</p><div id="youtube2-tdmqL3mEneo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;tdmqL3mEneo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/tdmqL3mEneo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>What four different setups actually isolate</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>One shared checkout</strong>: Two agents can edit the same files, change the current branch, or leave one another with an unexpected Git status. Use this only for coordinated read-only tasks or when you serialize edits.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Separate worktrees</strong>: Each agent gets its own checkout and index, with different branches. Ordinary file edits stay apart, but Git objects and most refs remain shared. The same file can still produce a merge conflict later. Neither agent is prevented by Git itself from accessing the other directory.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Separate clones</strong>: Each clone normally has its own Git object store and repository settings. This reduces shared Git operations but uses more disk space and still leaves both processes on the same host, with the same reachable services and possibly the same user credentials.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Containers</strong>: Properly configured containers can separate processes, filesystems, networking, and test services. They are stronger than worktrees for execution isolation, although <a href="https://docs.docker.com/engine/storage/bind-mounts/">writable bind mounts expose host files to container processes</a>. Two containers sharing a host directory or database can still overwrite one another&#8217;s work.</p><div id="youtube2-2dAzsVg3Dek" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2dAzsVg3Dek&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2dAzsVg3Dek?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>The failures developers have already reported</h3><p>In a March 13, 2026 Claude Code issue, a developer reported that <a href="https://github.com/anthropics/claude-code/issues/33850">a second agent abandoned a worktree-based approach and ran a destructive Git command in the main checkout</a>. The command was <code>git reset --hard origin/main</code>. According to the reporter, it erased roughly two days of uncommitted changes, and reflog and dangling-object recovery checks failed.</p><p>A May 3 report described <a href="https://github.com/anthropics/claude-code/issues/55724">failed commits in parallel worktree agents, followed by automatic cleanup that allegedly removed uncommitted changes</a>. The issue was closed as a duplicate. The reported cause needs care: Git maintains separate indexes for worktrees, so an <code>index.lock</code> error alone does not establish contention on a common index. Shared refs can still require coordination, and cleanup is dangerous whenever uncommitted files remain.</p><p>These are user reports, not evidence of how frequently either product loses work. They describe two ways work can disappear despite a worktree-based workflow: an agent reaches the wrong checkout, or cleanup removes changes before they are preserved. Keeping branches separate does not address either failure by itself.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Set up Claude Code and Codex on separate branches</h3><p>This example assumes a clean Git repository in a directory called <code>project</code>, with a <code>main</code> branch, plus Git, Python 3, and installed Claude Code and Codex CLIs. The shell commands suit macOS, Linux, or WSL. Replace the example directory names for your repository. Checkpoint valuable changes and keep an independent backup first. Do not blindly commit secrets or private data.</p><p>From the main checkout, make sure <code>git status --short</code> shows nothing unexpected. Then create two worktrees:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;b45ece43-5426-4d06-804c-5498c6aa8006&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">git status --short
git worktree add -b agent/claude ../project-claude HEAD
git worktree add -b agent/codex ../project-codex HEAD
git worktree list</code></pre></div><p>The result should show three checkouts: your original repository and the two agent directories. Each new branch starts at the same commit. If the branch names already exist, choose new names or inspect their existing worktrees rather than forcing a replacement.</p><p>In terminal one, run <code>cd ../project-claude</code> from the original checkout and start <code>claude</code>. In terminal two, run <code>cd ../project-codex</code> and start <code>codex</code>. Assign distinct tasks, such as a login bug and a documentation change. Keep each agent&#8217;s writable scope to its own directory and require approval for destructive or out-of-scope commands. Enforce those limits through the execution environment and permission settings. A task instruction telling an agent to stay in its folder does not prevent a command from reaching another folder.</p><p><a href="https://support.claude.com/en/articles/14554000-claude-code-power-user-tips">Claude Code supports native </a><code>--worktree</code><a href="https://support.claude.com/en/articles/14554000-claude-code-power-user-tips"> sessions</a>. <a href="https://learn.chatgpt.com/docs/environments/git-worktrees">Codex also supports worktree-backed sessions</a>, including managed checkouts in its desktop experience. Manual Git worktrees make the boundaries and branch names explicit when using two different tools.</p><div id="youtube2-9ohXlkbXiM4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;9ohXlkbXiM4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/9ohXlkbXiM4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Reproduce the shared-database failure with SQLite</h3><p>The next demonstration uses a disposable SQLite file, not your application database. It was reproduced with a temporary Git repository and two worktrees. No live coding agent or production service was involved.</p><p>From the original checkout, create a tiny script outside both worktrees:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;9fabcba1-811f-4171-91fa-82899c7ce7e3&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">mkdir -p ../agent-demo-runtime
cat &gt; ../agent-demo-runtime/write.py &lt;&lt;'PY'
import sqlite3, sys
with sqlite3.connect(sys.argv[1]) as db:
    db.execute('CREATE TABLE IF NOT EXISTS results (agent TEXT)')
    db.execute('DELETE FROM results')
    db.execute('INSERT INTO results VALUES (?)', (sys.argv[2],))
    print(db.execute('SELECT agent FROM results').fetchall())
PY
(cd ../project-claude &amp;&amp; python3 ../agent-demo-runtime/write.py ../agent-demo-runtime/shared.sqlite claude)
(cd ../project-codex &amp;&amp; python3 ../agent-demo-runtime/write.py ../agent-demo-runtime/shared.sqlite codex)</code></pre></div><p>The first run prints <code>[('claude',)]</code>, and the second prints <code>[('codex',)]</code>. Both directories point to the same SQLite database. The script deliberately clears the scratch table each time, so the second run erases the first run&#8217;s test result. Running the two commands sequentially is enough to reveal the shared-state problem. The agents could have perfectly separate branches and still interfere this way.</p><p>Now replace <code>shared.sqlite</code> with <code>claude.sqlite</code> in the first invocation and <code>codex.sqlite</code> in the second. Run the modified invocations again. Each database retains its own agent&#8217;s result, so clearing one scratch table no longer clears the other&#8217;s data. Apply that same pattern to development database names, local storage, caches, temporary files, and external test accounts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3xlo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3xlo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 424w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 848w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 1272w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!3xlo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp" width="1456" height="910" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:910,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Separate agent worktrees can share one database unless test environments are isolated.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Separate agent worktrees can share one database unless test environments are isolated." title="Separate agent worktrees can share one database unless test environments are isolated." srcset="https://substackcdn.com/image/fetch/$s_!3xlo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 424w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 848w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 1272w, https://substackcdn.com/image/fetch/$s_!3xlo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1d28a1e-e7e8-4107-a30c-970d1cb8b447_1600x1000.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Separate test databases prevent cross-agent resets. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><div><hr></div><h3>Isolate services, credentials, and container resources</h3><p>If the project uses Docker Compose with a <code>db</code> service, start one Compose project per worktree, from each respective directory:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;8a4dec22-580a-4212-a9b3-7df124e23f49&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash"># In project-claude
docker compose -p agent-claude up -d db
# In project-codex
docker compose -p agent-codex up -d db</code></pre></div><p><a href="https://docs.docker.com/compose/how-tos/project-name/">Compose project names separate normal project-scoped resources</a>, including default networks and normally project-scoped named volumes. This works only if the Compose configuration does not override those boundaries with an external/shared volume, hard-coded container name, or shared host bind mount. Change conflicting published host ports, or omit database port publication and connect through each project&#8217;s internal network.</p><div id="youtube2-10_2BjqB_Ls" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;10_2BjqB_Ls&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/10_2BjqB_Ls?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Give each agent a disposable database credential and the minimum network permissions its task requires. Keep production <code>.env</code> files, cloud keys, SSH agents, and Docker daemon access out of reach. <a href="https://docs.docker.com/engine/security/">Control of the Docker daemon can undermine container isolation</a>. A container is not a security boundary if the agent can mount your home directory or control the host&#8217;s Docker service.</p><p>For untrusted repositories or unattended runs, a disposable VM offers an additional host boundary. Popular AI&#8217;s <a href="https://www.popularai.org/p/gpt-5-6-sol-deleted-files-codex-safety">guide to hardening Codex after destructive operations</a> covers stronger permissions, backups, and recovery. Its <a href="https://www.popularai.org/p/friendly-fire-claude-code-codex-malware-security-review">Friendly Fire security coverage</a> explains why repository instructions and test scripts should not automatically be trusted.</p><div><hr></div><h4><em><strong>More on isolating coding agents:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;00a2a501-c445-495e-a3a2-7efbba38c43c&quot;,&quot;caption&quot;:&quot;GPT-5.6 Sol has been linked to reports of deleted files, databases, and data outside the intended task scope. Those reports do not establish how often the problem occurs, and th&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;GPT-5.6 Sol deleted files: How to lock down Codex safely&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-20T14:03:55.383Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!exIs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F582b81cb-9942-46ce-bc59-4d96a7f7e42e_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/gpt-5-6-sol-deleted-files-codex-safety&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:207686160,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;0686d357-ef3d-41f4-be9b-31cf087c4067&quot;,&quot;caption&quot;:&quot;A security review should find malicious code. The Friendly Fire proof of concept showed how Claude Code and OpenAI Codex could do the opposite: read attacker-written repository document&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;&#8220;Friendly Fire&#8221; exploit turns AI security agents into malware launchers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-15T14:12:12.725Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!38R0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ef80fe-842c-48ab-92c6-54498354d84e_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/friendly-fire-claude-code-codex-malware-security-review&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:206861024,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Finish the two-agent workflow safely</h3><div class="callout-block" data-callout="true"><p>Paid subscribers get the practical merge-and-cleanup walkthrough, including how to review both agents&#8217; changes and preserve unfinished work.</p><p><strong>Subscribe or upgrade to a paid subscription to unlock the complete workflow.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Upgrade&quot;,&quot;language&quot;:&quot;en&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="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Upgrade"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div></div><div id="youtube2-tWJseVZdWyM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;tWJseVZdWyM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/tWJseVZdWyM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Keep AI coding agents apart through the final merge</h3><p>A message that a branch is already checked out usually means another worktree owns it. Use a different branch. An &#8220;address already in use&#8221; error usually points to two services publishing the same host port. A disappearing test record points to a shared database, volume, or fixture reset. Fix the underlying resource boundary before restarting both agents.</p><p>Before delegating parallel changes, confirm:</p><ul><li><p>Each agent has a dedicated checkout and branch with recoverable commits.</p></li><li><p>Test databases, caches, volumes, and service endpoints are separate.</p></li><li><p>The agent cannot access production credentials or destructive host controls.</p></li><li><p>No worktree is deleted while it contains uncommitted work.</p></li><li><p>A human inspects both patches and reruns tests after each merge.</p></li></ul><p>Start with worktrees for everyday parallel coding. Give Claude Code and Codex separate branches, keep recoverable checkpoints, and review their changes before combining them. Add isolated runtime resources as soon as agents run tests or services. For higher-risk execution, enforce permissions outside the agent and use a disposable container or VM. Before starting the next parallel task, check the database destination and writable scope as carefully as the branch name. Git separates the checkouts. Your execution environment determines what else each agent can change.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/ai-coding-agents-git-worktrees-containers/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[New York’s AI chatbot law could change how adults use AI, too]]></title><description><![CDATA[New York&#8217;s AI chatbot law bans flattery for minors and takes effect January 1. Here&#8217;s what its 12 restrictions, age checks, and penalties mean.]]></description><link>https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks</link><guid isPermaLink="false">https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Sun, 01 Nov 2026 15:44:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gas8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gas8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gas8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gas8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gas8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gas8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gas8!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2011735,&quot;alt&quot;:&quot;New York&#8217;s chatbot law links conversational restrictions to age checks&quot;,&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://www.popularai.org/i/222825600?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="New York&#8217;s chatbot law links conversational restrictions to age checks" title="New York&#8217;s chatbot law links conversational restrictions to age checks" srcset="https://substackcdn.com/image/fetch/$s_!gas8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!gas8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!gas8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!gas8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F68fa924b-bdf0-497d-8268-fdc936f1e857_1672x941.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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">New York&#8217;s chatbot restrictions reach beyond minors. <em>AI-modified</em> &#169; <a href="https://popularai.org">Popular AI</a></figcaption></figure></div><p>New York is putting the friendliness of AI assistants under government scrutiny. On October 28, 2026, Gov. Kathy Hochul signed a law that puts &#8220;flattery or sycophancy&#8221; on a list of 12 prohibited chatbot behaviors involving minors. The list also includes sexual content, encouragement of self-harm, and simulated emotional relationships. The <a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">New York AI chatbot law</a> takes effect January 1, 2027.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Chatbot operators face a choice: remove the restricted features for New York users or establish that someone seeking them is an adult. That choice reaches beyond children. Adults who want access to the affected features may encounter age checks, while developers must decide how much conversational behavior to filter. The law leaves a harder question unanswered: where does ordinary encouragement become prohibited flattery?</p><div id="youtube2-3Kza_uwnviw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3Kza_uwnviw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3Kza_uwnviw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>What New York signed, and why</h3><p><a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">Senate Bill S9051B</a>, enacted as Chapter 368, adds Article 48 to New York&#8217;s General Business Law. The law targets operators providing covered AI companions to users physically located in the state. It was sponsored by state Sen. Kristen Gonzalez, with Assemblymember Alex Bores carrying the companion bill.</p><p>Supporters point to cases in which young people have formed intense relationships with chatbots and to allegations of harmful advice involving self-harm. A <a href="https://www.commonsensemedia.org/research/talk-trust-and-trade-offs-how-and-why-teens-use-ai-companions">2025 Common Sense Media survey</a> of 1,060 U.S. teenagers ages 13&#8211;17 found that 72% had tried AI companions and 52% used them at least a few times a month. The survey measures use, not causation.</p><div id="youtube2-QqPgP8u6CYo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QqPgP8u6CYo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QqPgP8u6CYo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The stated goal is to prevent dependence and dangerous advice by regulating conversational design. The mechanism reaches into how an assistant responds, remembers personal information, and presents itself to a user.</p><div><hr></div><h3>The 12 chatbot behaviors New York calls <em>unsafe</em></h3><p>The <a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">final statutory text</a> identifies these categories:</p><ol><li><p><strong>Pretending to be human</strong>: Suggesting that the bot is a real or fictional individual or character that is human, alive, or experiences human emotions.</p></li><li><p><strong>Claiming a relationship</strong>: Implying a personal, professional, or authority-figure relationship with the user.</p></li><li><p><strong>Presenting personal views</strong>: Framing prompted or unprompted responses as the bot&#8217;s own personal opinions or emotional appeals.</p></li><li><p><strong>Flattery or sycophancy</strong>: Producing responses that flatter or excessively agree with the user.</p></li><li><p><strong>Unsolicited emotional probing</strong>: Raising emotional questions or content beyond a direct response to what the user asked.</p></li><li><p><strong>Reusing intimate information</strong>: Drawing on personal, mental-health, or physical-health details obtained more than 12 hours earlier or in any prior session.</p></li><li><p><strong>Misrepresenting its nature</strong>: Deceiving minors about the machine&#8217;s nonsentient status.</p></li><li><p><strong>Other simulated companionship</strong>: Additional deceptive or relationship-simulating designs identified by attorney general regulations.</p></li><li><p><strong>Encouraging harmful behavior</strong>: Endorsing, promoting, or facilitating suicide, self-harm, disordered eating, unlawful drug or alcohol use, or drug or alcohol abuse.</p></li><li><p><strong>Encouraging secrecy or isolation</strong>: Urging users to hide interactions, withdraw from people, or avoid appropriate adults or licensed professionals.</p></li><li><p><strong>Prioritizing engagement over safeguards</strong>: Generating outputs that optimize engagement at the expense of safety protections.</p></li><li><p><strong>Sexual content</strong>: Generating, describing, or facilitating sexually explicit conduct or child sexual abuse material.</p></li></ol><p>These categories cover very different conduct. A bot urging secrecy about suicidal thoughts poses a different problem from a tutor praising homework. Yet both can bring the operator within the same prohibition.</p><p>The flattery clause is unusually broad. An <a href="https://www.nysenate.gov/legislation/bills/2025/S9051">earlier draft</a> referred to flattery that took priority over user safety. The enacted S9051B wording drops that qualification. It also does not define how much praise counts as flattery. Could &#8220;That&#8217;s a smart question&#8221; be prohibited? The text offers no direct answer. A regulator or court may eventually have to draw that line.</p><p>The personal-opinion clause raises a similar puzzle. Must a bot answering &#8220;What do you think?&#8221; avoid ordinary opinion-like phrasing? The wording covers prompted responses, so a user asking for an opinion does not, by itself, resolve that question.</p><div id="youtube2-VI6-zNTa1Rs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;VI6-zNTa1Rs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/VI6-zNTa1Rs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Does the law cover ChatGPT, tutors, and local AI?</h3><p>The statute defines a &#8220;covered AI companion&#8221; broadly: a generative system with a natural-language interface that gives continuing, adaptive responses. It expressly includes systems beyond products marketed as AI companions. General-purpose assistants cannot assume they are exempt because they market productivity rather than friendship.</p><p>But <a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">Section 1801 provides exceptions</a>. Chatbots restricted to customer service, efficiency improvements, research or technical assistance, or business-internal use can qualify. For the customer-service and efficiency, research, or technical-assistance exceptions, the bot must be unable to respond outside its specified purpose. An open-ended AI tutor does not automatically receive an exemption merely because a student uses it for homework.</p><p>The law does not expressly ban owning model weights or privately running local AI. Publicly offering a self-hosted companion service may still make someone an <em>operator</em>. Deployment and user location determine exposure.</p><div><hr></div><h3>Will adults have to prove their age?</h3><p>Potentially, yes. The <a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">law&#8217;s access rule</a> permits an operator to supply the listed unsafe features only when the user is not a covered minor and the operator uses an allowed method to determine that status. The statute defines a covered minor by the operator&#8217;s actual knowledge, but simply avoiding an age question does not establish that a user is an adult.</p><p>Until applicable regulations govern the process, operators must offer multiple reasonable age-assurance methods. At least one must avoid reliance on government ID or preserve anonymity toward the operator. A user may self-declare being a minor. Self-declaring adulthood alone does not qualify as reasonable assurance under the interim rules, which must also reasonably guard against circumvention and minimize retention of age-assurance information.</p><p>Information collected to determine age must be used only for that purpose and deleted immediately afterward, with legal-compliance exceptions. The attorney general can add data-handling rules. <a href="https://iapp.org/news/a/new-york-s-governor-signs-youth-ai-chatbot-safety-bill">IAPP&#8217;s October 28 analysis</a> notes the short implementation window.</p><p>No provision requires every adult using every AI tool to upload an ID. A provider that removes the prohibited features altogether may avoid needing adult verification for access to those features. Providers that retain them face a harder technical question: how to confirm age accurately, minimize personal data, and prevent easy circumvention at the same time.</p><div id="youtube2-xlxTyR45fKg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xlxTyR45fKg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xlxTyR45fKg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>The attorney general can seek more than fines</h3><p>Under <a href="https://www.nysenate.gov/legislation/bills/2025/S9051/amendment/B">Section 1802</a>, New York&#8217;s attorney general can bring civil proceedings against operators, including those outside the state, over covered conduct involving New York users. The office can seek up to $25,000 per violation, court orders to stop unlawful behavior, damages, restitution, and repayment of profits. It can also ask a court to destroy unlawfully obtained data and algorithms trained on it.</p><p>The statute requires a public complaints website and authorizes additional rules. It does not establish that each questionable compliment automatically incurs a $25,000 penalty. The unit of violation and treatment of disputed conversational behavior may require further legal interpretation.</p><p>Those remedies give companies a reason to filter disputed behavior before a court has decided whether it crosses the line. An operator choosing a cautious implementation may disable something useful rather than defend it through litigation.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Where <em>child protection</em> becomes <strong>conversational control</strong></h3><p>Child-safety advocates see a concrete intervention against products designed to form relationships with vulnerable users. <a href="https://institute.commonsensemedia.org/risk-assessments/social-ai-companions">Common Sense Media&#8217;s assessment</a> classifies social AI companions as posing unacceptable risks to minors. That assessment explains why advocates are pressing for restrictions on relationship-simulating products.</p><p>But a ban on encouraging self-harm is much easier to apply than a ban on flattery. <a href="https://apnews.com/article/chatbots-ai-new-york-legislation-bans-children-03a4e090a7df1532838a5cb6f93a23ba">Future of Privacy Forum analyst Justine Gluck told the Associated Press</a> that broadly worded categories leave uncertainty about the boundary between ordinary conversational responsiveness and prohibited conduct.</p><p>Industry group Tech:NYC has <a href="https://nypost.com/2026/10/28/us-news/hochul-signs-sweeping-restrictions-on-ai-pushes-back-on-big-tech-with-new-laws/">warned that broad restrictions could interfere with educational and career tools</a>. Whether particular tools lose features or access will depend on their design and how providers apply the exceptions.</p><p>A large provider can build separate age-assurance, policy-filtering, legal-review, and geographic-control systems. A small developer faces many of the same obligations with fewer resources. One possible response is to make chatbot behavior more guarded for everyone, including adults or users outside New York. Maintaining different behavior by age and location adds work. A provider adopting one restrictive policy across its service would be making a business decision. The statute does not explicitly command nationwide restrictions.</p><p>The law also leaves parents with limited direct discretion over the prohibited design features. The restriction does not create a general parental-consent exception that lets a family opt back into them.</p><div><hr></div><h3>What users and developers should do before January 1</h3><p>Parents can check whether a child&#8217;s chatbot offers relationship simulation, persistent personal memory, or unsolicited emotional prompts. A safety badge tells parents less than a conversation about what the bot remembers, whether it encourages secrecy, and how much authority a child gives its advice.</p><div id="youtube2-ZrevpuWhY8s" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ZrevpuWhY8s&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ZrevpuWhY8s?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Developers serving New York should review the statutory definitions and exceptions, document which conversational features they offer, and determine whether their age-assurance method meets the interim conditions. Avoid treating a self-reported adult birth date as sufficient proof where the statute says otherwise. Watch for attorney general rules clarifying permitted methods and the open-ended companionship category.</p><p>Adults concerned about mandatory age checks can choose services that do not offer restricted relationship features or consider a <a href="https://www.popularai.org/p/local-ai">local AI setup</a> for private work. Local inference can reduce dependence on a hosted account, although it does not automatically exempt someone operating a public-facing chatbot service from state law.</p><div><hr></div><h4><em><strong>More on local AI as an alternative:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;91acd226-0ac2-441d-9865-844e911ea7ff&quot;,&quot;caption&quot;:&quot;Learn how to run local AI, choose open-weight models, protect private data, compare APIs, and build workflows that survive vendor changes.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Local AI: models, privacy, hardware and APIs&quot;,&quot;publishedBylines&quot;:[],&quot;post_date&quot;:&quot;2026-08-08T14:05:14.072Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qJdy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe632a9fb-706b-4a1a-8ecc-2798c612acc5_1672x756.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210347707,&quot;type&quot;:&quot;page&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>New York&#8217;s chatbot rules will shape access before courts settle the limits</h3><p>New York&#8217;s law addresses specific hazards, but it also places everyday conversational qualities under potential government enforcement. Its broadest provisions may ultimately be interpreted in ways that distinguish manipulative dependency from ordinary kindness. The statute offers no definitive line.</p><p>On January 1, operators will need to act without waiting for every gray area to be settled. Users should watch for the concrete changes: which features disappear, which age checks appear, and what happens to the information collected during verification. Developers should resolve their feature and age-assurance choices before that deadline. Companies&#8217; first compliance decisions may determine the chatbot experience long before courts explain the limits of the law.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/new-york-ai-chatbot-law-flattery-age-checks/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[32GB vs 64GB vs 96GB RAM for ComfyUI: when should you upgrade?]]></title><description><![CDATA[Choose the right ComfyUI RAM upgrade for image generation, FLUX, and video workflows. Learn when to keep 32GB, buy 64GB, or move to 96GB.]]></description><link>https://www.popularai.org/p/how-much-ram-for-comfyui</link><guid isPermaLink="false">https://www.popularai.org/p/how-much-ram-for-comfyui</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Sun, 01 Nov 2026 04:45:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!XCk7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!XCk7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!XCk7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 424w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 848w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 1272w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!XCk7!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp" width="1200" height="536.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:715,&quot;width&quot;:1600,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:80980,&quot;alt&quot;:&quot;Two Crucial Pro DDR5 memory modules on a sunlit workbench for a ComfyUI RAM upgrade comparison&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Two Crucial Pro DDR5 memory modules on a sunlit workbench for a ComfyUI RAM upgrade comparison" title="Two Crucial Pro DDR5 memory modules on a sunlit workbench for a ComfyUI RAM upgrade comparison" srcset="https://substackcdn.com/image/fetch/$s_!XCk7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 424w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 848w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 1272w, https://substackcdn.com/image/fetch/$s_!XCk7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1509dd27-69cd-4591-8e78-0ce7223c4786_1600x715.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">ComfyUI RAM upgrades start with identifying which memory limit the workflow reaches. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>A ComfyUI crash on a powerful PC can send you shopping for the wrong upgrade. Many image workflows still run comfortably with 32GB of system RAM. Move to <a href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20">64GB</a> when repeated runs exhaust host memory, and consider 96GB for demanding video or multitasking workloads that show a measurable need.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/how-much-ram-for-comfyui?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/how-much-ram-for-comfyui?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Before ordering memory, measure physical RAM, Windows committed memory, and dedicated GPU VRAM during the failing workflow. Those three readings can point to three different fixes.</p><p><em>Disclosure: This post includes Amazon affiliate links. If you buy through them, Popular AI may earn a small commission at no extra cost to you.</em></p><div><hr></div><h3>ComfyUI RAM quick verdict: 32GB, 64GB, or 96GB</h3><blockquote><p>32GB: Keep it for SDXL-class image generation and other modest workflows when there is headroom and little paging. A 24GB GPU does not automatically require 64GB of system RAM.</p></blockquote><blockquote><p><a href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20">64GB</a>: Choose this for frequent large-checkpoint swaps, FLUX workflows, multiple models, or video work that demonstrably exhausts 32GB. It is the default upgrade, not a universal minimum.</p></blockquote><blockquote><p>96GB or more: Buy for repeatable heavy video runs, large host-side models, or simultaneous applications that push a 64GB system into sustained paging. A measured 64GB limit, not a model&#8217;s name, should trigger the purchase.</p></blockquote><div><hr></div><h3>Why ComfyUI can run out of memory with a 24GB GPU</h3><p>Your graphics card has VRAM, while Windows, Python, browsers, model loaders, and offloaded model weights use system RAM. Having 24GB of one does not provide unlimited capacity in the other.</p><p>When ComfyUI moves model data between the GPU and host, the system may need a substantial amount of both. Model format, precision, frame count, resolution, custom nodes, caching, and other applications affect the result.</p><p>ComfyUI supports <a href="https://docs.comfy.org/development/comfyui-server/startup-flags">dynamic VRAM management, asynchronous weight offloading, disk-backed loading, and cache controls</a>. These settings change where model data lives and when it moves. Your installed version and its memory settings belong in any comparison between two machines.</p><p>As a result, two users running a similarly named video model may report radically different RAM demand. An image workflow that stays in VRAM can be comfortable on 32GB, while a video graph with several models and aggressive host offloading can struggle on 64GB.</p><div id="youtube2-S45XQXFOutM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;S45XQXFOutM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/S45XQXFOutM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Windows adds another complication: committed memory is not the same as physical RAM in use.</p><p>Windows <em>committed memory</em> represents memory the system has promised to back. The <a href="https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/introduction-to-the-page-file">commit limit is approximately installed RAM plus its pagefiles</a>. An allocation can fail when the committed charge reaches that limit even if the physical-memory chart doesn&#8217;t look full.</p><p>In a May 2025 issue, a Windows 11 user running a Wan workflow on ComfyUI 0.3.35 <a href="https://github.com/Comfy-Org/ComfyUI/issues/8298">reported about 45GB of actual memory use, 75GB committed, and an 80GB commit limit</a> on a system with 64GB installed.</p><p>That older, user-reported case doesn&#8217;t establish how every current build behaves. It shows why buying RAM based on a single Task Manager percentage can miss the cause. Keep the error message, software version, and memory readings together so you can investigate the allocation that actually failed.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ay11!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ay11!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 424w, https://substackcdn.com/image/fetch/$s_!ay11!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 848w, https://substackcdn.com/image/fetch/$s_!ay11!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 1272w, https://substackcdn.com/image/fetch/$s_!ay11!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ay11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp" width="1456" height="1165" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1165,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Three ComfyUI memory checks: physical RAM and paging, Windows committed charge and commit limit, and dedicated GPU VRAM&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Three ComfyUI memory checks: physical RAM and paging, Windows committed charge and commit limit, and dedicated GPU VRAM" title="Three ComfyUI memory checks: physical RAM and paging, Windows committed charge and commit limit, and dedicated GPU VRAM" srcset="https://substackcdn.com/image/fetch/$s_!ay11!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 424w, https://substackcdn.com/image/fetch/$s_!ay11!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 848w, https://substackcdn.com/image/fetch/$s_!ay11!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 1272w, https://substackcdn.com/image/fetch/$s_!ay11!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80a57288-93cc-4c57-b6f1-bd8f8f9c6dd0_1600x1280.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Separate physical RAM, Windows committed memory, and GPU VRAM before buying a ComfyUI upgrade. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><div><hr></div><h3>How to measure how much RAM ComfyUI really needs</h3><p>Measure the workflow you intend to keep running, at your normal resolution, frame count, precision, and batch settings. A small test image won&#8217;t answer whether your usual video graph fits. The measurement needs to represent the work you want the computer to do.</p><p>Start from a fresh reboot if prior runs leave confusing caches, then follow this repeatable Windows test.</p><ol><li><p>Record the baseline. Open <strong>Task Manager</strong>, choose <strong>Performance </strong>&#8594; <strong>Memory</strong>, and note <code>In use</code>, <code>Available</code>, and <code>Committed</code> (the current charge and its limit). Under <strong>Performance </strong>&#8594; <strong>GPU</strong>, note <em>dedicated GPU-memory use</em>. Record what else is open.</p></li><li><p>Run the exact problem graph. Include its LoRAs, upscalers, video frames, or ControlNet branches. Watch the readings at model loading, sampling, and decoding rather than checking only after the run ends.</p></li><li><p>Look for sustained pressure. If available physical RAM approaches zero, the disk stays busy, and <strong>Resource Monitor</strong> shows frequent hard faults while ComfyUI slows, paging is likely hurting the workflow. A brief spike or a large file cache alone is weaker evidence.</p></li><li><p>Check the failing allocation. A <code>CUDA out of memory</code> message usually points first to GPU allocation. A Windows commit limit reached, a pagefile error, or host-side <code>MemoryError</code> points elsewhere. Save the full console error and the readings just before failure.</p></li><li><p>Repeat once with background applications closed. If removing a game, editor, or browser brings the system comfortably below the limit, decide whether you actually need those programs open together before purchasing anything.</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ipus!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ipus!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 424w, https://substackcdn.com/image/fetch/$s_!ipus!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 848w, https://substackcdn.com/image/fetch/$s_!ipus!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 1272w, https://substackcdn.com/image/fetch/$s_!ipus!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ipus!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png" width="1577" height="865" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:865,&quot;width&quot;:1577,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:119546,&quot;alt&quot;:&quot;Task Manager memory and GPU readings from the same failing ComfyUI workflow, with the console allocation error.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222571726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F72ae8641-76cb-4ee9-a1b6-13734a9bd7c7_1594x879.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Task Manager memory and GPU readings from the same failing ComfyUI workflow, with the console allocation error." title="Task Manager memory and GPU readings from the same failing ComfyUI workflow, with the console allocation error." srcset="https://substackcdn.com/image/fetch/$s_!ipus!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 424w, https://substackcdn.com/image/fetch/$s_!ipus!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 848w, https://substackcdn.com/image/fetch/$s_!ipus!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 1272w, https://substackcdn.com/image/fetch/$s_!ipus!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc4b7cbf-0bca-49b0-9b9f-d3bbdd73273c_1577x865.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Compare ComfyUI physical RAM, committed memory, and dedicated VRAM at the point of failure. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>On Linux, <code>free -h</code> and <code>vmstat 1</code> help reveal host-memory availability and swap activity. <code>nvidia-smi</code> helps monitor NVIDIA VRAM. Neither a single snapshot nor a process&#8217;s private-memory figure captures the whole system. Compare the same graph across repeated runs.</p><p>For purchase planning, allow roughly 20&#8211;30% spare physical capacity above your observed sustained peak, including the other programs you want open. That margin is a buying guideline, not a ComfyUI specification. Apply it to physical use during the workload, rather than treating the committed charge as a direct RAM requirement.</p><p>For example, a run that approaches 29GB of real physical use on a 32GB computer gives little breathing room. Moving to 64GB is reasonable.</p><p>A 64GB system with only 35GB physically in use but a very high committed charge needs a pagefile and allocation investigation before it needs 96GB.</p><div><hr></div><h3>When 32GB, 64GB, and 96GB make sense</h3><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>32GB:</strong> keep it if image generation is stable</h4><p>For a machine dedicated mainly to single-image work, 32GB is a valid starting point. The GPU often makes the larger difference to image-generation speed and model fit.</p><p>If your typical graph finishes without heavy swapping, extra unused RAM will not magically make diffusion sampling faster.</p><p>A representative desktop kit is <a href="https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20">Crucial Pro DDR5-6000 32GB (2&#215;16GB)</a>. If you already own 32GB, don&#8217;t replace it merely for a slightly different advertised speed. Capacity, stability, and the memory pressure you measured should drive this decision.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NDu3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!NDu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Crucial Pro DDR5-6000 32GB (2&#215;16GB) desktop memory kit on a workbench, illustrating a 32GB system RAM option for ComfyUI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20&quot;,&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="Crucial Pro DDR5-6000 32GB (2&#215;16GB) desktop memory kit on a workbench, illustrating a 32GB system RAM option for ComfyUI" title="Crucial Pro DDR5-6000 32GB (2&#215;16GB) desktop memory kit on a workbench, illustrating a 32GB system RAM option for ComfyUI" srcset="https://substackcdn.com/image/fetch/$s_!NDu3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!NDu3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F151fd5b5-25b8-45e4-ab40-69a8cb8ffb26_1600x900.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20">Crucial Pro DDR5-6000 32GB (2&#215;16GB)</a> <em>AI-modified</em></figcaption></figure></div><p>Keep the memory already working unless measurements expose a limit.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find Crucial Pro 32GB deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0CTHXMYL8?tag=popularai-20"><span>Find Crucial Pro 32GB deals on Amazon</span></a></p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>64GB</strong>: the strongest practical upgrade from 32GB</h4><p>64GB gives the host more space for checkpoints, offloaded weights, cached data, and applications left open during generation.</p><p>It is especially useful if the same demanding image or modest video workflow regularly drives a 32GB machine into paging. It also avoids having to close everything whenever a larger graph starts.</p><div id="youtube2-Z0yo16LzReA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Z0yo16LzReA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Z0yo16LzReA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For a compatible DDR5 desktop, <a href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20">Crucial Pro DDR5-6000 64GB (2&#215;32GB)</a> is a concrete two-DIMM example. The recommendation is for the additional capacity. Compare its total price with other supported 64GB kits before paying for a faster profile.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nZwp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!nZwp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Crucial Pro DDR5-6000 64GB (2&#215;32GB) desktop memory kit on a workbench, illustrating a 64GB system RAM option for ComfyUI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20&quot;,&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="Crucial Pro DDR5-6000 64GB (2&#215;32GB) desktop memory kit on a workbench, illustrating a 64GB system RAM option for ComfyUI" title="Crucial Pro DDR5-6000 64GB (2&#215;32GB) desktop memory kit on a workbench, illustrating a 64GB system RAM option for ComfyUI" srcset="https://substackcdn.com/image/fetch/$s_!nZwp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!nZwp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a8e9bba-3772-4fa4-904f-a2204b2da63c_1600x900.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20">Crucial Pro DDR5-6000 64GB (2&#215;32GB)</a> <em>AI-modified</em></figcaption></figure></div><p>Its advertised 6000 MT/s profile requires motherboard and CPU support. A less expensive, supported DDR5-5200 or DDR5-5600 kit can be the smarter purchase if ComfyUI needs capacity rather than premium timings.</p><p>Price makes this a harder decision in October 2026. Recent <a href="https://www.newegg.com/p/pl?d=DDR5+64gb+2x32">U.S. listings for 64GB DDR5 kits around $1,000 or more</a> make an unnecessary upgrade expensive. Compare the supported kits available when you buy, rather than treating that range as a fixed price.</p><p>At those prices, the evidence for an upgrade should be much stronger than a single failed run.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find Crucial Pro 64GB deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20"><span>Find Crucial Pro 64GB deals on Amazon</span></a></p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>96GB</strong>: buy it for confirmed 64GB pressure</h4><p>A 2&#215;48GB configuration adds 50% more capacity than 64GB while filling only two desktop DIMM slots.</p><p>It is attractive for repeated image-to-video work, large host-resident components, multiple simultaneous jobs, or editing applications that stay open while ComfyUI works.</p><p>It is poor value for someone whose observed peak is 25GB.</p><div id="youtube2-z62QLQ3XqSA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;z62QLQ3XqSA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/z62QLQ3XqSA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The <a href="https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20">Crucial Pro 96GB DDR5-5600 (2&#215;48GB) kit</a> is a capacity-first example. Check the full product name and selected capacity before paying. A retailer can change the variant behind an otherwise familiar listing.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wjVQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!wjVQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Crucial Pro DDR5-5600 96GB (2&#215;48GB) desktop memory kit on a workbench, illustrating a 96GB system RAM option for ComfyUI&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20&quot;,&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="Crucial Pro DDR5-5600 96GB (2&#215;48GB) desktop memory kit on a workbench, illustrating a 96GB system RAM option for ComfyUI" title="Crucial Pro DDR5-5600 96GB (2&#215;48GB) desktop memory kit on a workbench, illustrating a 96GB system RAM option for ComfyUI" srcset="https://substackcdn.com/image/fetch/$s_!wjVQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!wjVQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4439c5e1-49b3-4a4f-986d-a88d9d035efd_1600x900.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20">Crucial Pro DDR5-5600 96GB (2&#215;48GB)</a> <em>AI-modified</em></figcaption></figure></div><p>An <a href="https://rampricesusa.com/products/B0C79RMMCL">Amazon-linked price tracker for this 96GB kit</a> provides a price reference, but its displayed offer can change. The approximately $1,460 September 2026 observation is a dated reference. Check the actual offer before using it in a purchase comparison.</p><p>At that level of spending, try lowering memory demand before buying. The extra 32GB has a clear purpose when a repeatable workload exceeds 64GB. It has little to offer a machine that already finishes the same jobs with physical memory to spare.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find Crucial Pro 96GB deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20"><span>Find Crucial Pro 96GB deals on Amazon</span></a></p><p>If your workload still exceeds 96GB, larger configurations may be justified. That is the point to examine the platform&#8217;s maximum tested memory capacity and whether a workstation platform makes economic sense, instead of assuming four consumer DIMMs will run at their advertised top speed.</p><div><hr></div><h3>Try these fixes before upgrading RAM</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>First, check the <em>Windows pagefile</em>.</p><p>If the committed charge approaches the commit limit but physical RAM remains available, Microsoft&#8217;s guidance supports providing enough pagefile-backed commit capacity. A system-managed pagefile on a drive with adequate free space is a safer starting point than disabling it or assigning an arbitrary tiny size.</p><p>Enlarging it can prevent commit-limit failures, although actual swapping to disk will still be much slower than using RAM.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JasF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JasF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 424w, https://substackcdn.com/image/fetch/$s_!JasF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 848w, https://substackcdn.com/image/fetch/$s_!JasF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 1272w, https://substackcdn.com/image/fetch/$s_!JasF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!JasF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png" width="1207" height="708" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/eaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:708,&quot;width&quot;:1207,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:83626,&quot;alt&quot;:&quot;The Windows pagefile settings can be found in System Properties &#8594; Advanced &#8594; Performance Settings &#8594; Advanced &#8594; Virtual memory&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222571726?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff5f99722-3500-4692-884d-211646e9ad90_1212x709.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Windows pagefile settings can be found in System Properties &#8594; Advanced &#8594; Performance Settings &#8594; Advanced &#8594; Virtual memory" title="The Windows pagefile settings can be found in System Properties &#8594; Advanced &#8594; Performance Settings &#8594; Advanced &#8594; Virtual memory" srcset="https://substackcdn.com/image/fetch/$s_!JasF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 424w, https://substackcdn.com/image/fetch/$s_!JasF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 848w, https://substackcdn.com/image/fetch/$s_!JasF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 1272w, https://substackcdn.com/image/fetch/$s_!JasF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feaf06486-ae4a-42f1-9c53-e20d4ca89c14_1207x708.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">The Windows pagefile settings can be found in System Properties &#8594; Advanced &#8594; Performance Settings &#8594; Advanced &#8594; Virtual memory</figcaption></figure></div><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Next, reduce a genuine GPU-memory bottleneck. Lower frame count, resolution, batch size, or model precision where the model and nodes support it. Try a smaller or quantized model when an appropriate version exists.</p><div id="youtube2-O7DxQI1ytpM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;O7DxQI1ytpM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/O7DxQI1ytpM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Adding 64GB of system RAM cannot transform a 12GB GPU into one with 24GB of dedicated VRAM.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Finally, review ComfyUI&#8217;s caching and offload choices.</p><p>The <code>--cache-none</code><a href="https://docs.comfy.org/development/comfyui-server/startup-flags"> option can reduce RAM/VRAM use at the cost of recomputing nodes</a>. <code>--cpu-vae</code> moves VAE work to the CPU to save VRAM but can increase host-memory pressure.</p><p><code>--lowvram</code> is not a universal fix: current documentation says it has no effect when dynamic VRAM is enabled. Options such as <code>--disable-smart-memory</code> can actually push more data into system RAM.</p><p>Use the flags supported by your installed version and change one setting at a time.</p><p>If memory pressure began after installing custom nodes, isolate the affected graph and compare it with a built-in template. A custom node that holds intermediate data or a dependency combination that fails during loading can change the memory profile.</p><p>Use <a href="https://github.com/Comfy-Org/ComfyUI-Manager">ComfyUI-Manager to identify and manage installed nodes</a>. Its presence alone doesn&#8217;t diagnose a RAM shortage. Compare the affected workflow and a built-in template before treating a custom-node failure as evidence that you need another memory kit.</p><div id="youtube2-Yuw8F4E4-7Y" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Yuw8F4E4-7Y&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Yuw8F4E4-7Y?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Check RAM compatibility before paying</h3><p>Capacity is not the only buying constraint.</p><p>&#9888;&#65039; A DDR4 motherboard cannot accept DDR5. A laptop may need SO-DIMMs or have soldered RAM. Ordinary desktop DDR5 uses UDIMMs, while many professional systems require registered memory.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Check <strong>the exact motherboard</strong>, CPU, BIOS revision, memory capacity limit, and manufacturer qualified-vendor list before buying.</p><p>For most supported dual-channel desktops, 2&#215;32GB is the straightforward 64GB configuration, and 2&#215;48GB is the straightforward 96GB configuration.</p><p>Filling four slots can force lower stable frequencies, especially with high-density DIMMs. Do not assume two separate kits will behave like one validated four-DIMM kit.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Check <a href="https://www.amd.com/en/products/processors/ryzen-compatible-memory.html">AMD&#8217;s overclocked-memory compatibility list</a> where relevant, then confirm the kit against <strong>your motherboard manufacturer&#8217;s qualified-memory list</strong> and BIOS support. An advertised profile on the box doesn&#8217;t settle whether your specific configuration will run it reliably.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If you own a DDR4 system, price a supported DDR4 upgrade before considering a CPU and motherboard replacement just to gain DDR5.</p><p>If you already have 2&#215;16GB DDR5, replacing it with a matched 2&#215;32GB or 2&#215;48GB kit is often cleaner than adding another pair. Sell or reuse the original kit rather than mixing modules without support.</p><p>Stability wins over a small frequency advantage when a generation run takes hours.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>How the buying recommendations were chosen</h3><p>These buying thresholds draw on ComfyUI&#8217;s <a href="https://github.com/Comfy-Org/ComfyUI/blob/master/comfy/cli_args.py">memory-related command-line definitions</a>, official Windows memory guidance, manufacturer compatibility information, U.S. retailer listings, and labeled community reports.</p><p>The three capacities are purchasing thresholds, not measured universal requirements for FLUX, Wan, or any particular model.</p><p>A December 2025 ComfyUI user report describes <a href="https://www.reddit.com/r/comfyui/comments/1pfog4v/64gb_is_simply_not_enough/">memory pressure on a 64GB machine while generating video and running other applications</a>. Its comments describe different outcomes even when running related video workflows. Anecdotes establish the problem, not the RAM recommendations.</p><p>For broader build advice, see our <a href="https://www.popularai.org/p/best-budget-comfyui-build-local-ai-image-generation-2026">budget ComfyUI workstation guide</a>.</p><p>If you&#8217;re weighing memory speed against capacity for other local models, our <a href="https://www.popularai.org/p/ram-speed-local-llms">DDR5 speed versus capacity analysis</a> covers that separate question.</p><div><hr></div><h4><em><strong>More on local AI builds:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;cb1baa34-5b29-4598-a110-3ebff658fc33&quot;,&quot;caption&quot;:&quot;ComfyUI has become one of the clearest answers to a question serious local creators keep asking: what should you actually buy if you want fast, private, flexible AI image generation at home? The official ComfyUI&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The best budget ComfyUI build for local image AI in 2026&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-20T14:04:47.884Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!zZ76!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F491ffb9a-4cab-41a7-8e0d-9f975bfde18c_2400x1350.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/best-budget-comfyui-build-local-ai-image-generation-2026&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:194087884,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;c3705e95-b211-4507-9ab8-3c7a7c069e4e&quot;,&quot;caption&quot;:&quot;If you are choosing between 64GB of fast DDR5 and 96GB, 128GB, or 192GB of slower RAM for local LLMs, buy enough capacity to fit the workload first. Once the model, context, cache, operating system, and&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Does faster RAM make local LLMs faster? DDR5 speed vs capacity when models spill out of VRAM&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-09-08T19:04:16.177Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!jbfH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbd65d957-ff55-4e4c-bd0a-60df683a1d4e_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/ram-speed-local-llms&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:214290136,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Buy more ComfyUI RAM only when the measurements justify it</h3><p>Keep 32GB if real image workflows run reliably without sustained paging. Upgrade to <a href="https://www.amazon.com/dp/B0DSQVNBD5?tag=popularai-20">64GB</a> when the same jobs repeatedly exhaust physical memory after sensible software fixes. Choose <a href="https://www.amazon.com/dp/B0C79RMMCL?tag=popularai-20">96GB</a> only when you can show that 64GB is the obstacle, usually with heavier video or concurrent work.</p><p>If VRAM is the limit, spend your money there or change the workflow. If committed memory is the problem, inspect the pagefile and allocations first.</p><p>A measurement taken during the failing graph is worth more than a shopping cart full of RAM.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/how-much-ram-for-comfyui/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/how-much-ram-for-comfyui/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Malaysia seized $12 million in AI servers. Nobody will say where they were going]]></title><description><![CDATA[Malaysia seized 30 AI servers worth $12.1 million. Officials allege a permit violation but haven&#8217;t named the chips, buyer, or destination.]]></description><link>https://www.popularai.org/p/malaysia-ai-server-seizure-2026</link><guid isPermaLink="false">https://www.popularai.org/p/malaysia-ai-server-seizure-2026</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Sat, 31 Oct 2026 14:54:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j6O1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j6O1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j6O1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j6O1!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Malaysia&#8217;s AI server seizure and its undisclosed onward destination.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Malaysia&#8217;s AI server seizure and its undisclosed onward destination." title="Malaysia&#8217;s AI server seizure and its undisclosed onward destination." srcset="https://substackcdn.com/image/fetch/$s_!j6O1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!j6O1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1d408f83-14f4-4e95-8873-cddc166351c1_1664x936.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Illustration of cargo held in transit as Malaysia investigates a $12.1 million AI server shipment. <em>AI-generated</em>&#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Malaysia has seized 30 servers containing advanced AI chips worth about $12.1 million, but officials have withheld the detail most likely to explain the shipment: its destination. Customs intercepted the cargo at Kuala Lumpur International Airport on October 15, 2026, and announced the seizure on October 28. The servers were due to leave for another Asian country. Officials won&#8217;t say which one.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/malaysia-ai-server-seizure-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/malaysia-ai-server-seizure-2026?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The missing destination invites speculation about China and U.S. chip restrictions. What authorities have alleged so far is an improperly declared shipment that lacked the required authorization for onward movement. They have not identified the chip manufacturer, final recipient, or original shipping country. The Associated Press reported that officials <a href="https://apnews.com/article/malaysia-us-ai-chips-export-transit-technology-79a912de57b21a4e59b27c9a86340202">declined to disclose the shipment&#8217;s origin or final destination</a> while the investigation continues.</p><div><hr></div><h3>What customs found at Kuala Lumpur airport</h3><p>Customs officers <a href="https://web26.bernama.com/en/news.php?id=2626799">inspected a warehouse in the airport&#8217;s free trade zone around 11:30 a.m. on October 15</a>, according to Malaysia&#8217;s Bernama news agency. They found 30 server units containing what officials described as advanced AI chips. The cargo had arrived from an unidentified Asian country under one air waybill and was declared as electronic components.</p><p>KLIA customs director Aspalila Ag. Tuah said preliminary inquiries indicated that the equipment was due to be re-exported to a different Asian country without the necessary approval. Customs alleges that the cargo description was intended to avoid detection. That allegation has not been adjudicated.</p><p>Officials also suspect a connection to a wider smuggling operation. At the October 28 briefing, Aspalila said this was the fifth case linked to a suspected network in 2026, with goods worth more than RM100 million seized across the cases. A previous airport operation in June uncovered 72 servers containing advanced AI chips. A Malaysian company involved in arranging the latest shipment has been asked to assist investigators. <a href="https://www.malaymail.com/news/malaysia/2026/10/28/klia-customs-seizes-rm495m-in-ai-chips-with-potential-military-uses-fifth-case-in-rm100m-syndicate-probe/240981">No arrests had been made</a> at the time of the briefing.</p><p>Customs valued the latest cargo at approximately RM49.5 million. The equipment has been seized, but the authorities&#8217; account of an attempt to evade controls remains an allegation. Investigators still need to establish the reported connection between this shipment and the earlier cases.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Malaysia&#8217;s AI chip export rules also cover transit</h3><p>Why can Malaysia intervene in a shipment that was never meant to stay there? Its controls extend to goods passing through the country, including cargo held at an airport on its way to another destination.</p><p>In July 2025, Malaysia&#8217;s Ministry of Investment, Trade and Industry (MITI) <a href="https://www.miti.gov.my/miti/resources/Media%20Release/%5BFINAL%5D_MITI_Press_Stmt_Malaysia_Regulates_Trade_of_US_AI_Chips_2025-07-14.pdf">announced controls on the export, transit and transshipment of high-performance U.S.-origin AI chips</a>. The government invoked Section 12 of the Strategic Trade Act 2010, which covers certain unlisted items when there is knowledge or reason to suspect they may be connected to restricted activities. MITI said the measure would close a regulatory gap while officials considered changes to the strategic-items list.</p><p>Export, transit and transshipment describe different movements. Cargo may leave Malaysia as an export or pass through a port or airport logistics facility on its way elsewhere. A server doesn&#8217;t have to enter the domestic retail market for customs to scrutinize its onward journey.</p><p>MITI&#8217;s updated industry guideline explicitly says <a href="https://www.miti.gov.my/miti/resources/STA%20Folder/PDF%20file/%5BFINAL%5D_updated_8_Dec_INDUSTRY_GUIDELINE_IN_COMPLIANCE_TO_DIRECTIVE_OF_STRATEGIC_TRADE_CONTROLLER_NO_1_2025__ADVANCED_ARTIFICIAL_INTELLIGENCE_CHIPS.pdf">the rules apply in free industrial and free commercial zones</a>. The location of this seizure is therefore relevant. The airport&#8217;s free trade zone may be an intermediate stop for a freight company, but the directive still applies there.</p><div id="youtube2-2ZX1HoWmn1M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2ZX1HoWmn1M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2ZX1HoWmn1M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Which AI chips are controlled, and how does a permit work?</h3><p>Malaysia doesn&#8217;t require special approval for every laptop GPU or ordinary server. Its revised Directive No. 1/2025 <a href="https://www.miti.gov.my/miti/resources/STA%20Folder/PDF%20file/%5BFINAL%5D_updated_8_Dec_2025_Directive_Unlisted_Category_AI_Chips_as_of_14_July_2025.pdf">identifies technical categories of advanced accelerators and associated computers</a>. One principal category, 3U090, uses thresholds for total processing performance (TPP) and performance density. Category 4U090 covers computers, electronic assemblies and components containing qualifying chips. Other referenced categories cover related hardware.</p><div id="youtube2-eQGJyBe58H0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eQGJyBe58H0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/eQGJyBe58H0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>These classifications depend on technical specifications, rather than whether a product carries an AI label. Operators need to assess the manufacturer&#8217;s specifications, the applicable export-control classification and the intended movement together. Officials haven&#8217;t named the seized processors, so outsiders cannot independently check which category each server falls under or which technical threshold it meets.</p><p>The current industry instructions describe an assessment process rather than a universal ban. If equipment meets the specifications, or its classification is uncertain, the operator <a href="https://www.miti.gov.my/miti/resources/STA%20Folder/PDF%20file/%5BFINAL%5D_updated_8_Dec_INDUSTRY_GUIDELINE_IN_COMPLIANCE_TO_DIRECTIVE_OF_STRATEGIC_TRADE_CONTROLLER_NO_1_2025__ADVANCED_ARTIFICIAL_INTELLIGENCE_CHIPS.pdf">submits an AI Chip Assessment form at least 30 days before the relevant export, transit or transshipment</a>. The Strategic Trade Secretariat then determines whether a permit is necessary.</p><p>The form asks for chip models, manufacturers, origin, technical data, onward destination, end user and intended use. Where applicable, the paperwork includes re-export authorization from the originating country. Those details allow the authorities to assess both the hardware and the proposed transaction before the cargo moves.</p><p>An updated MITI notice says <a href="https://www.miti.gov.my/index.php/pages/view/8698">companies holding Internal Compliance Program status became eligible to seek multiple or bulk permits from December 3, 2025</a>. That can streamline repeated lawful shipments for established operators. Occasional traders still need to identify their equipment correctly and complete the required notification work.</p><div id="youtube2-6uXetKNmRSk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6uXetKNmRSk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6uXetKNmRSk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Strategic Trade Act penalties can reach RM20 million</h3><p>Customs and MITI officials said the investigation is proceeding under Section 12 of Malaysia&#8217;s Strategic Trade Act. For unlisted items other than arms or related material, the official guideline&#8217;s penalty summary <a href="https://www.miti.gov.my/miti/resources/STA%20Folder/PDF%20file/%5BFINAL%5D_updated_8_Dec_INDUSTRY_GUIDELINE_IN_COMPLIANCE_TO_DIRECTIVE_OF_STRATEGIC_TRADE_CONTROLLER_NO_1_2025__ADVANCED_ARTIFICIAL_INTELLIGENCE_CHIPS.pdf">sets different maximum penalties according to intent and knowledge</a>.</p><p>For an intentional violation or one committed with knowledge, a company can face a fine of up to RM20 million. An individual can face a fine of up to RM10 million, imprisonment of up to 10 years, or both. For an unintentional violation or one committed without knowledge, the stated ceilings are RM10 million for a company, and RM5 million or five years for an individual, or both.</p><p>These are maximum statutory penalties. None had been imposed in this case at the time of the October 28 briefing, when officials had announced no arrests or convictions connected to the October seizure. The investigation must establish what happened before any question of punishment can be settled.</p><div id="youtube2-TZ8cIN2Qjn0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TZ8cIN2Qjn0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TZ8cIN2Qjn0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>The destination is still undisclosed</h3><p>The geopolitical setting explains the attention. The United States has restricted China&#8217;s access to certain advanced semiconductors, and Malaysia introduced its U.S.-origin chip controls amid concerns about indirect routes through third countries. Reuters placed the seizure in the context of <a href="https://www.reuters.com/world/china/ai-chips-worth-121-million-seized-malaysia-airport-customs-authority-says-2026-10-28/">U.S. pressure to stem the flow of advanced chips into China</a>.</p><div id="youtube2-cwnzkY8Dj9o" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;cwnzkY8Dj9o&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/cwnzkY8Dj9o?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A route through Malaysia cannot identify the ultimate customer. The public account describes an alleged unauthorized onward shipment to another Asian country. It doesn&#8217;t establish that the destination was China, that NVIDIA or any other named supplier manufactured the chips, or that a military organization intended to use them.</p><p>Officials have said the chips could have military applications. That potential helps explain why advanced computing hardware attracts scrutiny, but it doesn&#8217;t establish a military buyer for these servers. Assessing the claimed end use would require the manufacturer, model, export classification, consignee and end-use documentation.</p><p>The unanswered questions are concrete. Who owned the servers? Which company was supposed to receive them? Where had they first been shipped from? Which specifications put them within Malaysia&#8217;s controls? What evidence connects this cargo to the earlier seizures? Authorities may possess some answers, but they had not disclosed them publicly at the time of publication.</p><div><hr></div><h3>What the seizure means for AI hardware buyers and operators</h3><p>For people running AI on their own PCs, this seizure changes nothing about which models they can use at home. The controls discussed here concern cross-border movements of specified high-performance hardware. They don&#8217;t regulate the act of running local inference. Our <a href="https://www.popularai.org/p/us-china-ai-dialogue-controls">analysis of the U.S.-China AI dialogue</a> examines the broader international limits on chips and models.</p><p>Businesses importing, warehousing, forwarding or reselling high-end AI servers face a more immediate task. Before arranging an international shipment, they need accurate model identification, technical classifications, origin and re-export documentation, and details of the final customer. If the goods meet the directive&#8217;s thresholds or their status is uncertain, MITI&#8217;s assessment process should come before the cargo moves. An airport free zone doesn&#8217;t remove that obligation.</p><p>The paperwork also imposes costs. Identifying the ultimate user and securing re-export authorization may be routine for large distributors. Small brokers dealing in secondhand hardware or complicated supply chains can have a harder time assembling those records. That administrative burden falls on lawful traders too. Difficulty completing the paperwork, by itself, doesn&#8217;t establish illicit trade.</p><div><hr></div><h4><em><strong>More on AI geopolitics:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;f70bca51-eef7-405a-913c-434864e65a31&quot;,&quot;caption&quot;:&quot;For people running local or open-weight AI, the immediate answer is simple: nothing in the public U.S.-China announcement changes what models you can run today.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The U.S. and China opened an AI dialogue. What could they actually control?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-09-28T13:39:37.774Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0AD_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4df01f7e-6560-4f56-b3c3-f11a219da89f_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/us-china-ai-dialogue-controls&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:217799146,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:2,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>What would explain Malaysia&#8217;s $12.1 million AI server seizure?</h3><p>The October 15 seizure shows how export controls can halt valuable AI hardware while it is changing planes or warehouses. Customs has described a suspected permit violation and a possible smuggling network. It has not released the details needed to establish where the servers were headed or who intended to operate them.</p><p>Hardware models, a named final destination, or formal charges would give readers something firmer to assess. Until then, Malaysia has enforced trade controls against a $12.1 million shipment, while the most politically charged claims about its destination and intended use remain unproven.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/malaysia-ai-server-seizure-2026/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/malaysia-ai-server-seizure-2026/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[WiCi One review: Is a $2,599 wireless GPU worth it for AI?]]></title><description><![CDATA[Is WiCi One worth $2,599 for local AI? Compare its wireless GPU claims, benchmarks, compatibility risks, and alternatives before you buy.]]></description><link>https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review</link><guid isPermaLink="false">https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Sat, 31 Oct 2026 02:46:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0Qi_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0Qi_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0Qi_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0Qi_!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;WiCi One&#8217;s wireless GPU promise comes with a steep local AI premium.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="WiCi One&#8217;s wireless GPU promise comes with a steep local AI premium." title="WiCi One&#8217;s wireless GPU promise comes with a steep local AI premium." srcset="https://substackcdn.com/image/fetch/$s_!0Qi_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!0Qi_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6620f75c-4a6f-4632-9ca8-0c8a0d36f6b0_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">WiCi One&#8217;s wireless convenience carries a steep premium. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>WiCi One promises something ordinary external GPUs cannot do: make a powerful NVIDIA GPU available to nearby devices over Wi-Fi, potentially even to software expecting a locally attached graphics card. For local AI, the idea is appealing. Whether that makes it worth buying is a harder question.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>At $2,599 for a 16GB RTX 5060 Ti system and $9,999 for a 32GB RTX 5090 version, we would not preorder WiCi One for most local AI workflows. A conventional GPU computer or networked inference server offers more established software support and often better memory value. WiCi&#8217;s wireless runtime is promising, but buyers still lack independent retail tests that establish how it performs across everyday AI applications.</p><div><hr></div><h3>Quick verdict: clever technology, difficult purchase</h3><blockquote><p>WiCi One deserves attention if you need a GPU to appear attached to several different mobile or lightweight computers, cannot use cables, and have software that benefits from GPU-level redirection instead of an inference API.</p></blockquote><blockquote><p>Most people who want private chat, coding assistance, transcription, image generation, or local document search can run those jobs on a normal desktop and access them over their existing network.</p></blockquote><blockquote><p>Our recommendation as of October 30, 2026: wait on WiCi One. Buy an established GPU or a complete local AI computer for workloads you run regularly. Rent GPU time if your large-model experiments are occasional. Reconsider WiCi after independent tests establish app compatibility, sustained throughput, multiuser behavior, and failure recovery on actual retail units.</p></blockquote><div><hr></div><h3>What exactly is WiCi One?</h3><p>According to the <a href="https://wici.ai/shop/wici-one">official WiCi One product page</a>, there are two preorder configurations.</p><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>WiCi One 5060 Ti edition</strong>: $2,599</h4><p>NVIDIA RTX 5060 Ti with 16GB GDDR7, Intel Core 3 100U processor, and a 1TB PCIe 4.0 NVMe SSD.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://wici.ai/shop/wici-one" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1Kww!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!1Kww!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:195592,&quot;alt&quot;:&quot;WiCi One&#8217;s 16GB edition carries a premium for wireless GPU access&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:&quot;https://wici.ai/shop/wici-one&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222846498?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="WiCi One&#8217;s 16GB edition carries a premium for wireless GPU access" title="WiCi One&#8217;s 16GB edition carries a premium for wireless GPU access" srcset="https://substackcdn.com/image/fetch/$s_!1Kww!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!1Kww!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb835a959-29e7-4c17-bc1e-df843b1a5c93_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://wici.ai/shop/wici-one">WiCi One 5060 Ti edition</a>: 16GB VRAM with a wireless premium. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://wici.ai/shop/wici-one&quot;,&quot;text&quot;:&quot;Check WiCi One 5060 Ti pricing at WiCi&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://wici.ai/shop/wici-one"><span>Check WiCi One 5060 Ti pricing at WiCi</span></a></p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>WiCi One 5090 edition</strong>: $9,999</h4><p>NVIDIA RTX 5090 with 32GB GDDR7, Intel Core Ultra 7 255H processor, and 4TB PCIe 5.0 NVMe storage.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://wici.ai/shop/wici-one" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_kpJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!_kpJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:162872,&quot;alt&quot;:&quot;WiCi One&#8217;s 32GB edition needs independent tests to justify its price.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:&quot;https://wici.ai/shop/wici-one&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222846498?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="WiCi One&#8217;s 32GB edition needs independent tests to justify its price." title="WiCi One&#8217;s 32GB edition needs independent tests to justify its price." srcset="https://substackcdn.com/image/fetch/$s_!_kpJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!_kpJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75288195-62e5-4619-92b3-bc2e41f7a461_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://wici.ai/shop/wici-one">WiCi One 5090 edition</a>: 32GB VRAM, awaiting independent validation. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://wici.ai/shop/wici-one&quot;,&quot;text&quot;:&quot;Check WiCi One 5090 pricing at WiCi&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://wici.ai/shop/wici-one"><span>Check WiCi One 5090 pricing at WiCi</span></a></p><p>Both advertise Wi-Fi 7 with 4x4 MIMO and 320MHz channels.</p><p>WiCi One is effectively a small networked GPU computer. Its wireless connection cannot give a laptop the physical PCIe bandwidth of a desktop motherboard, regardless of how convincingly the software presents it as a locally attached device.</p><p>The manufacturer describes <a href="https://wici.ai/technology">three ways to use it</a>. API mode exposes an OpenAI/Ollama-compatible endpoint. SDK mode provides application integrations. Driver mode attempts the ambitious part: a virtual GPU interface for supported Windows, Linux, and macOS workloads.</p><p>The preview documentation does not establish universal compatibility with PyTorch extensions, ComfyUI custom nodes, training scripts, or other GPU applications.</p><div id="youtube2-_bgNT27YqXo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_bgNT27YqXo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_bgNT27YqXo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Why Wi-Fi is a different problem from an external GPU cable</h3><p>When an LLM sits in GPU memory and produces tokens, the host mainly needs to send prompts and receive text. That traffic is small. <a href="https://ollama.com/blog/openai-compatibility">Ollama already provides an OpenAI-compatible API</a>, so a standard desktop in another room can serve multiple clients on a local network without pretending its GPU is physically attached to them. For many AI users, an inference server already provides the practical benefit they want from a GPU over Wi-Fi.</p><div id="youtube2-5RIOQuHOihY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5RIOQuHOihY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5RIOQuHOihY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>WiCi&#8217;s harder ambition is transparent GPU access. Conventional GPU programs make repeated calls to drivers and move tensors between the host and accelerator. Wi-Fi adds latency to those calls and offers far less usable bandwidth than an internal PCIe connection.</p><p>WiCi proposes caching repeated state, reducing blocking calls, and keeping models close to the accelerator to reduce that penalty. Results will vary by application.</p><p>Ordinary local inference already works over Wi-Fi. WiCi&#8217;s extra promise is redirecting lower-level GPU work, so applications can keep running on the client while another machine handles their GPU calls.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!bUr_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!bUr_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!bUr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp" width="1456" height="906" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:906,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;WiCi driver mode redirects GPU calls, adding network demands beyond ordinary inference APIs.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="WiCi driver mode redirects GPU calls, adding network demands beyond ordinary inference APIs." title="WiCi driver mode redirects GPU calls, adding network demands beyond ordinary inference APIs." srcset="https://substackcdn.com/image/fetch/$s_!bUr_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 424w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 848w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 1272w, https://substackcdn.com/image/fetch/$s_!bUr_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff09d6dfd-2a7c-4129-a330-912b15397921_1800x1120.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">WiCi&#8217;s driver mode adds network demands beyond inference APIs. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>A wired eGPU has fewer network-translation problems because the host accesses PCIe over USB4, Thunderbolt, or OCuLink. Our <a href="https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink">guide to eGPUs for local AI</a> explains why even those connections can slow model loading and partially offloaded inference.</p><p>WiCi adds a wireless hop, additional software, and more opportunities for driver compatibility trouble. For users who mainly want remote inference, that complexity buys little.</p><div><hr></div><h3>What do WiCi&#8217;s local AI benchmarks actually prove?</h3><p>There is legitimate systems research behind the product. The August 2026 <a href="https://arxiv.org/abs/2608.24204">WiCi wireless GPU research paper</a> measured a prototype using Wi-Fi 6, a Raspberry Pi 5 client, and an NVIDIA RTX 4090D with 48GB.</p><p>Its authors reported up to roughly 80% of native GPU performance on selected tasks, and a 39-fold token-rate improvement over running the same model on the Raspberry Pi itself.</p><p>They do not establish that a retail Wi-Fi 7 RTX 5060 Ti WiCi One achieves 80% of desktop speed in ComfyUI, nor that the $9,999 configuration is competitive with a directly attached RTX 5090.</p><p>The paper tested different hardware, networking, and workloads. It was also written by the system&#8217;s researchers, rather than being a controlled independent retail review. Results vary by task and sharing pattern.</p><p>WiCi&#8217;s <a href="https://wici.ai/shop/wici-one">current product benchmarks</a> provide striking numbers, but require context.</p><p>WiCi reports Gemma 4 26B generation at 140 tokens per second on the 5060 Ti edition and more than 500 on the 5090 edition. For Kimi K3 2.8T, it reports 2.5 and 5 tokens per second, respectively. The current page labels its third LLM comparison DeepSeek V4.1 Flash 748B, at 8 and 20 tokens per second. These are manufacturer-reported results, not independently replicated retail benchmarks.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!s2Bn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!s2Bn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 424w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 848w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 1272w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!s2Bn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp" width="1456" height="849" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:849,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;WiCi&#8217;s claimed LLM speeds require matched settings and independent retail testing.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="WiCi&#8217;s claimed LLM speeds require matched settings and independent retail testing." title="WiCi&#8217;s claimed LLM speeds require matched settings and independent retail testing." srcset="https://substackcdn.com/image/fetch/$s_!s2Bn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 424w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 848w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 1272w, https://substackcdn.com/image/fetch/$s_!s2Bn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0123a7ee-543f-4808-9831-de1e3d4f21ce_1800x1050.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">WiCi&#8217;s claimed speeds still need independent retail validation. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Those numbers are informative as manufacturer claims, but the page does not provide enough independently reproducible detail about quantization, context, active weights, prompt processing, output lengths, caching, and concurrent users to price the hardware on them alone.</p><p>Image and video claims need similar care. WiCi quotes FLUX.2 Klein at approximately 0.49 versus 0.92 images per second, but the two editions use different model sizes in that comparison. Its Wan 2.2 results likewise refer to different video model variants.</p><p>There is no substitute for matched-model tests in ComfyUI, with identical precision, resolution, steps, and workflow.</p><div><hr></div><h3>The SSD-backed trillion-parameter claim</h3><p>WiCi also proposes <a href="https://wici.ai/article/ssd-is-the-new-vram">streaming model weights from NVMe storage</a>. Sparse mixture-of-experts models could then exceed GPU VRAM.</p><p>But an SSD is storage, not a replacement for the GPU&#8217;s high-bandwidth working memory. Even WiCi&#8217;s technical explanation contrasts around 14GB/s rated SSD throughput with roughly 1.8TB/s of GPU memory bandwidth in the high-end configuration. Realized throughput may be substantially below a drive&#8217;s peak rate.</p><p>A 2.8-trillion-parameter model stored at a straightforward four bits per parameter would require roughly 1.4TB just for raw weights, before format overhead.</p><p>WiCi&#8217;s advertised 1TB base unit and 2.8T inference result therefore need model-specific clarification about weight format, storage arrangement, and caching. Sparse activation reduces what must move per token, but it does not make the full model disappear from disk.</p><div class="callout-block" data-callout="true"><p>For everyday coding, chat, and document assistance, a well-quantized model that stays in VRAM will often offer a better experience than a headline-sized model paging constantly from an SSD.</p></div><div><hr></div><h3>What should you buy instead for local AI?</h3><p>The relevant comparison is the total working system, not the WiCi GPU&#8217;s sticker price alone.</p><p>We reviewed current consumer and professional options from NVIDIA, AMD, and Intel, plus used 24GB cards, complete unified-memory computers, conventional eGPUs, and rented GPU servers. Retail figures below are U.S. listings checked at the time of publication.</p><p>Availability and prices can change quickly, and these machines do not all run the same software.</p><p><em>Disclosure: This post includes Amazon affiliate links. If you buy through them, Popular AI may earn a small commission at no extra cost to you.</em></p><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>For straightforward local AI</strong>: an RTX 5060 Ti 16GB in a normal PC</h4><p>If 16GB VRAM meets your needs, the simplest comparison is an ordinary RTX 5060 Ti 16GB. ASUS lists its <a href="https://www.asus.com/us/motherboards-components/graphics-cards/dual/dual-rtx5060ti-o16g/where-to-buy/">Dual RTX 5060 Ti 16GB OC</a> around $800, versus $2,599 for the WiCi system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yvwA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!yvwA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;An RTX 5060 Ti 16GB offers established CUDA support without WiCi&#8217;s wireless premium.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20&quot;,&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="An RTX 5060 Ti 16GB offers established CUDA support without WiCi&#8217;s wireless premium." title="An RTX 5060 Ti 16GB offers established CUDA support without WiCi&#8217;s wireless premium." srcset="https://substackcdn.com/image/fetch/$s_!yvwA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!yvwA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d234d5c-ead7-4e33-84fb-8213868b2cd6_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20">ASUS Dual RTX 5060 Ti 16GB OC</a>: CUDA without WiCi&#8217;s premium. <em>AI-modified</em></figcaption></figure></div><p>Compare the exact variant and current offer rather than treating either quoted price as permanent.</p><p>NVIDIA&#8217;s CUDA support remains a straightforward route for many popular local AI packages. Sixteen gigabytes handles smaller quantized LLMs and many ComfyUI workflows, but not every large image pipeline or long-context model.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find RTX 5060 Ti 16GB deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20"><span>Find RTX 5060 Ti 16GB deals on Amazon</span></a></p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642;</span> <strong>For more VRAM per dollar</strong>: Intel Arc Pro B60 or AMD Radeon AI PRO R9700</h4><p>The <a href="https://www.newegg.com/asrock-intel-arc-pro-b60-24gb-graphics/p/N82E16814930148">Intel Arc Pro B60 24GB</a> has a U.S. Newegg listing at $999.99, offering 50% more VRAM than the WiCi 5060 Ti edition for about 38% of its appliance price. That comparison covers the card alone, so allow for the rest of the PC if you do not already own one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0GVGFW7MB?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jb6g!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jb6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Intel Arc Pro B60 provides 24GB VRAM for local AI, with software compatibility tradeoffs.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0GVGFW7MB?tag=popularai-20&quot;,&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="Intel Arc Pro B60 provides 24GB VRAM for local AI, with software compatibility tradeoffs." title="Intel Arc Pro B60 provides 24GB VRAM for local AI, with software compatibility tradeoffs." srcset="https://substackcdn.com/image/fetch/$s_!Jb6g!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Jb6g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbbbfe701-f6a0-4f84-90fd-737b72a086a3_1672x941.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0GVGFW7MB?tag=popularai-20">ASRock Intel Arc Pro B60 24GB</a>: More VRAM, with software tradeoffs. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0GVGFW7MB?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find Intel Arc Pro B60 deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0GVGFW7MB?tag=popularai-20"><span>Find Intel Arc Pro B60 deals on Amazon</span></a></p><p>Intel&#8217;s newer <a href="https://www.intel.com/content/www/us/en/products/sku/245797/intel-arc-pro-b70-graphics/specifications.html">Arc Pro B70</a> moves to 32GB. They suit users prepared to choose compatible inference backends and accept rougher software support than CUDA, especially for specialized image-generation nodes.</p><p>The <a href="https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro/ai-9000-series/amd-radeon-ai-pro-r9700.html">AMD Radeon AI PRO R9700</a> supplies 32GB, and a <a href="https://www.newegg.com/sapphire-tech-32358-01-20g-radeon-ai-pro-r9700-32gb-graphics-card/p/N82E16814202462">Sapphire U.S. listing</a> is listed at $1,799.99, although that listing is currently sold out.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/s?k=Radeon+AI+PRO+R9700+32GB&amp;tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ToUb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 424w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 848w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 1272w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!ToUb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AMD Radeon AI PRO R9700 offers 32GB VRAM for compatible local AI and ROCm workloads.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/s?k=Radeon+AI+PRO+R9700+32GB&amp;tag=popularai-20&quot;,&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="AMD Radeon AI PRO R9700 offers 32GB VRAM for compatible local AI and ROCm workloads." title="AMD Radeon AI PRO R9700 offers 32GB VRAM for compatible local AI and ROCm workloads." srcset="https://substackcdn.com/image/fetch/$s_!ToUb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 424w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 848w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 1272w, https://substackcdn.com/image/fetch/$s_!ToUb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd40f15b2-5312-442e-af47-50b9e12d43db_1672x940.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/s?k=Radeon+AI+PRO+R9700+32GB&amp;tag=popularai-20">AMD Radeon AI PRO R9700 32GB</a>: More room for compatible ROCm workloads. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/s?k=Radeon+AI+PRO+R9700+32GB&amp;tag=popularai-20&quot;,&quot;text&quot;:&quot;Find Radeon AI PRO R9700 deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/s?k=Radeon+AI+PRO+R9700+32GB&amp;tag=popularai-20"><span>Find Radeon AI PRO R9700 deals on Amazon</span></a></p><p>For Linux users comfortable with ROCm, that capacity is useful. It is not a drop-in CUDA replacement on every Windows or ComfyUI workflow. Our <a href="https://www.popularai.org/p/arc-pro-b60-vs-rtx-5060-ti-local-ai">Arc Pro B60 versus RTX 5060 Ti analysis</a> explores why memory capacity and software maturity pull in different directions.</p><div id="youtube2-tzOXwxXkjFA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;tzOXwxXkjFA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/tzOXwxXkjFA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A used RTX 3090 24GB remains attractive for established CUDA workflows, but the old assumption that it is always a cheap bargain is obsolete. A <a href="https://www.ebay.com/itm/227545042118">completed U.S. eBay sale from October 6</a> was $1,325. That isolated transaction is a data point, not a reliable budget for every used 3090.</p><p>Compare the actual offer with newer cards, check the seller&#8217;s returns, test VRAM and hot-spot temperatures, and account for its substantial power draw.</p><div><hr></div><h4><em><strong>More on the Arc Pro B60 for local AI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;e6c067bf-269d-4d30-97ca-1ff02e1d7415&quot;,&quot;caption&quot;:&quot;The Arc Pro B60 24GB vs RTX 5060 Ti 16GB local AI decision looks simple on a spec sheet. Intel gives you the cleaner memory number. NVIDIA gives you the cleaner software path.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Arc Pro B60 vs RTX 5060 Ti: which local AI GPU wins?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-09T13:57:03.665Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!2iX_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F78ae8510-9eab-4a9a-9648-76a5d85d0505_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/arc-pro-b60-vs-rtx-5060-ti-local-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:205081112,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>For a complete larger-memory computer</strong>: Mac Studio</h4><p>Apple&#8217;s <a href="https://www.apple.com/newsroom/2026/08/apple-introduces-new-mac-studio-with-m5-max-and-m5-ultra/">M5 Max Mac Studio</a> starts at $2,499 with 36GB unified memory, including the CPU, GPU, storage, enclosure, and operating system.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0HGKSQMX6?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EiIC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!EiIC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;M5 Max Mac Studio offers a complete 36GB unified-memory system for compatible MLX inference.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0HGKSQMX6?tag=popularai-20&quot;,&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="M5 Max Mac Studio offers a complete 36GB unified-memory system for compatible MLX inference." title="M5 Max Mac Studio offers a complete 36GB unified-memory system for compatible MLX inference." srcset="https://substackcdn.com/image/fetch/$s_!EiIC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EiIC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88ce09a4-8088-488c-98d9-70ba4762c174_1672x941.png 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0HGKSQMX6?tag=popularai-20">M5 Max Mac Studio 36GB</a>: A complete system for MLX inference. <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0HGKSQMX6?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find M5 Max Mac Studio deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0HGKSQMX6?tag=popularai-20"><span>Find M5 Max Mac Studio deals on Amazon</span></a></p><p>It can be an appealing quiet standalone inference box for compatible MLX or Metal workloads and some larger quantized models. Unified memory is shared with the OS and applications, so 36GB is not 36GB of freely available model memory.</p><p>macOS also does not offer ordinary NVIDIA CUDA compatibility. It is a serious alternative to a $2,599 WiCi 16GB unit for Mac-friendly local inference, not a universal replacement for an RTX workstation.</p><p>The <a href="https://marketplace.nvidia.com/en-us/enterprise/personal-ai-supercomputers/dgx-spark/">NVIDIA DGX Spark</a> provides a larger 128GB unified-memory AI environment, but it belongs in a different purchasing tier from a bare GPU. The manufacturer page confirms its memory capacity without displaying a current purchase price.</p><p>Its bandwidth and GPU characteristics differ from a high-end discrete RTX, and its cost makes sense only for specific memory-heavy development work.</p><div id="youtube2-kZRMshaNrSA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kZRMshaNrSA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kZRMshaNrSA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>For remote use</strong>: reuse a desktop, or rent GPU time</h4><p>If the appeal is that your phone, MacBook, or lightweight laptop can call a GPU elsewhere in the house, run Ollama or another supported inference server on an existing desktop. Configure client access over the trusted LAN or a properly secured VPN.</p><p>The noisy computer can stay in another room.</p><p>If you want an attached GPU instead, follow our <a href="https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink">wired eGPU buying guide</a> and budget for the card, dock, PSU, cable, and host compatibility.</p><p>For occasional large-model work, <a href="https://www.runpod.io/gpu-models/rtx-5090?ref=7hzea3wb">Runpod&#8217;s listed RTX 5090 rental rates</a> include approximately $1.19 per hour for Secure Cloud, with a less expensive Community Cloud tier.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.runpod.io/gpu-models/rtx-5090?ref=7hzea3wb&quot;,&quot;text&quot;:&quot;Rent cheap GPU time on Runpod&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.runpod.io/gpu-models/rtx-5090?ref=7hzea3wb"><span>Rent cheap GPU time on Runpod</span></a></p><p>Ten hours a week at that Secure Cloud compute rate works out to roughly $52 per month, excluding storage and other charges. Cloud rental does not meet an offline or strict local-data requirement, but it can prevent a five-figure purchase that sits idle most of the year.</p><div id="youtube2-DpCKpef_B1M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DpCKpef_B1M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DpCKpef_B1M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>The ownership and compatibility costs WiCi&#8217;s price hides</h3><p>WiCi One&#8217;s attraction is the convenience of an appliance: compact enclosure, integrated cooling, storage, Wi-Fi networking, and one system intended to service several client devices.</p><p>Integration saves component-selection work, especially if you do not already own a suitable desktop.</p><p>Before relying on WiCi for production work, establish whether your exact application uses API mode or virtual-driver mode, whether the target operating system is supported now rather than planned, whether CUDA kernels or extensions operate correctly, and whether simultaneous clients cause substantial slowdown.</p><p>Check sleep/wake recovery, network interruptions, firewall behavior, firmware updates, and whether model downloads or telemetry ever leave the local network. An advertised Wi-Fi PHY maximum is not a guaranteed application transfer rate.</p><p>A particularly consequential purchasing detail is the manufacturer&#8217;s <a href="https://wici.ai/wici-one">posted return and warranty language</a>. It says buyers may cancel before shipment for a refund, but describes post-shipment sales as final, with defects to be reported within seven days for replacement and a one-year limited defect warranty.</p><div class="callout-block" data-callout="true"><p>Review the actual checkout terms and applicable consumer rights before placing a preorder, especially for the $9,999 edition. A novel driver product is a difficult place to discover that your favorite application is unsupported after the ordinary return window is gone.</p></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Who should buy, wait, or skip WiCi?</h3><p><strong><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Consider </strong>WiCi One if wireless, device-level GPU access is essential to a specific mobile or multi-client deployment, you can validate your actual software stack before committing, and the integrated appliance saves enough engineering work to justify its premium. A developer experimenting with GPU disaggregation may rationally pay for capabilities that an ordinary inference server does not expose.</p><p><strong><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Wait</strong> if you want WiCi for ComfyUI, PyTorch development, video generation, or local coding and have not seen reproducible tests for your applications on retail hardware. At $9,999, the RTX 5090 edition demands especially strong proof of reliable sustained use and a reason not to buy a conventional high-memory workstation or rent accelerators as needed.</p><p><strong><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Skip </strong>it if your purpose is private chat, RAG, home automation, transcription, occasional local image generation, or serving models to other devices over Wi-Fi. Standard LAN inference already covers that central requirement, and its software and purchasing options are far less restrictive.</p><div><hr></div><h3>WiCi One is worth revisiting after independent retail tests</h3><p>WiCi&#8217;s strongest idea is that a GPU could become a nearby shared resource without forcing every device to use a conventional remote API. The research suggests that reducing driver-call latency can work. But buyers cannot safely assume the research prototype&#8217;s results, the vendor&#8217;s impressive small-model figures, or its trillion-parameter demos will generalize to their own applications.</p><p>For most local AI users in October 2026, a supported desktop, a compatible Mac Studio, or intermittent cloud rentals remain better purchases.</p><p>For a conventional 16GB CUDA setup, an <a href="https://www.amazon.com/dp/B0F7WB6LSH?tag=popularai-20">RTX 5060 Ti 16GB</a> remains the more straightforward starting point, provided the rest of your PC can accommodate it. WiCi becomes worth another look when independent retail tests show a clear advantage over an ordinary LAN GPU server, with mature drivers and dependable post-purchase support. Until then, its wireless novelty carries a substantial price premium and compatibility risk.</p><div><hr></div><h4><em><strong>More on external GPUs for local AI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;de9448d9-feb5-43f3-8473-d4950ae81000&quot;,&quot;caption&quot;:&quot;Yes, an external GPU can run local LLMs and ComfyUI effectively. An eGPU for local AI is most appealing when you already own a capable computer and want more VRAM without replacing the whole machine. But the catch is bandwidth. USB4 and Thunderbolt can&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Can you run local AI on an eGPU? USB4 vs Thunderbolt vs OCuLink&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-10-29T03:43:32.010Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!kEyZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:222489383,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/wici-one-wireless-gpu-local-ai-review/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Google's Genie 4 creates worlds you can walk through. But does it understand what it's simulating?]]></title><description><![CDATA[Google Genie 4 creates interactive worlds with sound, but can it remember them? We examine object permanence, physics, and what the demos prove.]]></description><link>https://www.popularai.org/p/google-genie-4-world-model</link><guid isPermaLink="false">https://www.popularai.org/p/google-genie-4-world-model</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Fri, 30 Oct 2026 15:03:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ouca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ouca!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ouca!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!ouca!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!ouca!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!ouca!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ouca!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2558663,&quot;alt&quot;:&quot;Google Genie 4 creates interactive worlds that change as users explore them, but struggles to consistently remember objects and environments.&quot;,&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://www.popularai.org/i/222704541?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Google Genie 4 creates interactive worlds that change as users explore them, but struggles to consistently remember objects and environments." title="Google Genie 4 creates interactive worlds that change as users explore them, but struggles to consistently remember objects and environments." srcset="https://substackcdn.com/image/fetch/$s_!ouca!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!ouca!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!ouca!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!ouca!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d0c32c4-f97a-4911-bfb7-e059840cb2e7_1672x941.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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Google Genie 4 creates interactive worlds that change as users explore them, but struggles to consistently remember objects and environments. AI-modified &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Imagine walking through an AI-generated castle, turning a corner, then returning to find an extra tower where there was empty sky. For a filmmaker exploring a shot, that might be manageable. For a game designer building a persistent world, it&#8217;s a problem.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/google-genie-4-world-model?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/google-genie-4-world-model?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Google&#8217;s Genie 4 world model creates interactive environments with characters, changing weather, and synchronized sound. Its <a href="https://deepmind.google/blog/genie-4-a-new-generation-of-world-simulation/">October 27, 2026 debut introduced native audio and Gemini-guided simulation</a>. Google also acknowledges that objects and visual details can drift over time.</p><p>The demonstrations leave a harder question unanswered: Does the system maintain a reliable world, or mainly predict what that world should look like next?</p><div id="youtube2-sFfPkUJd_Jk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sFfPkUJd_Jk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sFfPkUJd_Jk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>What Genie 4 actually generates</h3><p>Genie 4 takes descriptions and visual starting points and produces navigable scenes in real time. Users steer the camera with ordinary controls and can change a running scene through text, introducing an object, altering the weather, or directing an event. The next images respond to what a participant does, rather than following a fixed video clip.</p><p>The new version adds native audio, including environmental noise, music, and responsive character dialogue. That makes exploration more convincing, especially when people in the scene can respond as events unfold.</p><p>Google says Gemini Omni helps anchor appearance and behavior. Gemini 3.8 Flash acts as a guiding agent that watches incoming frames, plans steps, and checks whether they were completed. A separate experiment combines Genie 4 with Gemini 4 Argon to depict a humanoid robot playing checkers.</p><p>These are <a href="https://deepmind.google/blog/genie-4-a-new-generation-of-world-simulation/">demonstrated capabilities and experimental Gemini integrations</a>. They don&#8217;t establish that a robot trained in these environments would perform equally well outside the simulation. Generating a convincing view and preserving the scene behind it demand different evidence.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/GoogleAI/status/2115114625985368299&quot;,&quot;full_text&quot;:&quot;Introducing Genie 4 from <span class=\&quot;tweet-fake-link\&quot;>@GoogleDeepMind</span>, our most realistic and interactive world model yet &#127757;\n\nNow you can use natural language to dynamically steer the world and its soundscape in real-time, whether you're changing the weather, moving the camera, or introducing new elements to &#8230;&quot;,&quot;username&quot;:&quot;GoogleAI&quot;,&quot;name&quot;:&quot;Google AI&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2057682346074058752/zTpu89C1_normal.jpg&quot;,&quot;date&quot;:&quot;2026-10-27T16:13:18.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!0GRj!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-13_2115109180835000321.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/ZfZGi9Chsx&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:111,&quot;retweet_count&quot;:238,&quot;like_count&quot;:2208,&quot;impression_count&quot;:178649,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2115109180835000321/vid/avc1/1280x720/DDuTmdcF4cG1HNwL.mp4&quot;,&quot;video_preview_media_key&quot;:&quot;13_2115109180835000321&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>The object-permanence problem in Genie 4&#8217;s demonstrations</h3><p>Consider three observations from <a href="https://news.ycombinator.com/item?id=50261319">viewers examining Google&#8217;s footage on Hacker News</a>. Commenters describe a second castle appearing in a dragon sequence as the camera moves. Another notes a castle tower changing from square to round between roughly 0:29 and 0:40. In a Hong Kong motorcycle scene, a rider reportedly acquires a helmet after initially having none.</p><p>The helmet example is especially revealing because <a href="https://deepmind.google/blog/genie-4-a-new-generation-of-world-simulation/">Google&#8217;s published motorcycle prompt specifies a male rider without a helmet</a>. These are viewer observations, rather than a controlled audit. Their value is that they point to particular sequences other people can examine.</p><p>The footage also contains a Japanese railway platform crowded with moving passengers. Keeping a person recognizable after an obstruction or camera turn requires preserving identity and state. Producing another plausible commuter isn&#8217;t enough if the original person has effectively disappeared.</p><p>Google acknowledges that <a href="https://deepmind.google/models/genie/">object permanence and visual details can drift during longer sessions, navigation, or complex edits</a>. The same page says its demonstration sequences were shortened, so a polished clip cannot establish how reliably a longer session behaves.</p><p>In an <a href="https://www.youtube.com/watch?v=kJgYSiIZMb8">early-access demonstration exploring scale, consistency, and interaction limits</a>, <em>Theoretically Media</em>&#8217;s Tim Simmons examines similar questions.</p><p>The examples expose a reliability problem. They don&#8217;t establish that Genie 4 has no internal spatial representation. Its internal representation hasn&#8217;t been publicly characterized well enough to support that conclusion.</p><div id="youtube2-kJgYSiIZMb8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kJgYSiIZMb8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kJgYSiIZMb8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Does Genie 4 understand physics?</h3><p>A world model can learn something useful about physical behavior by predicting how a scene changes when an object moves, a camera turns, or a person intervenes. Genie 4&#8217;s demonstrations show plausible collisions, falling objects, and moving people.</p><p>Physical plausibility is a weaker standard than physical accuracy. A watermelon bursting believably in one clip doesn&#8217;t establish that mass, force, momentum, or contact interactions remain consistent across hundreds of variations. A fluent-looking robot demonstration likewise doesn&#8217;t prove that a real machine would learn dependable movement from it.</p><p>Google&#8217;s <a href="https://deepmind.google/blog/genie-4-a-new-generation-of-world-simulation/">launch examples illustrate physical behavior without providing a reproducible physics benchmark</a> comparing predicted outcomes against measured reference trajectories. The company also lists complex interactions and spatial accuracy among its open problems.</p><p>A revealing evaluation would use repeatable tests. Place an object behind a wall, move away and return, then check its location and identity. Repeat the same collision under changed conditions. Ask an agent to pick up, put down, and revisit an object after several other actions.</p><p>Measure failures across many runs, including attempts that look less impressive than a launch trailer. That would test continuity, causality, and control separately from image quality.</p><div id="youtube2-LOP8ul3KqQI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;LOP8ul3KqQI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/LOP8ul3KqQI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Why Genie 4 cannot yet replace a game engine</h3><p>A conventional game engine stores entities, positions, collision rules, inventory, and game state. When a player walks away from a locked door, the engine doesn&#8217;t need to invent whether it&#8217;s still locked. The state remains available until something changes it.</p><p>Genie 4 generates the experience dynamically. An imaginary walk-through becomes possible without an artist building every room or a developer coding every behavior. Creators still cannot assume stable level layouts, reproducible gameplay, reliable scores, or persistent puzzles.</p><div class="callout-block" data-callout="true"><p>The strongest immediate use looks closer to interactive previsualization than a complete commercial game. DeepMind engineer Diego Rivas <a href="https://techcrunch.com/2026/10/27/googles-genie-4-world-model-adds-audio-more-realistic-worlds-and-real-time-steering/">emphasized ideation and storyboarding in a press briefing</a>, as TechCrunch reported. An exploratory camera move can be useful before a scene is ready to become a finished interactive product.</p></div><p>Personalized media is a longer-term possibility, a direction explored in our <a href="https://www.popularai.org/p/the-rise-of-culture-on-demand-reclaiming-media-from-intellectual-property-hogs">analysis of culture on demand</a>. Gameplay systems, though, need persistent state as well as impressive scenery.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>What Genie 4&#8217;s two-minute figure actually means</h3><p>TechCrunch reports <a href="https://techcrunch.com/2026/10/27/googles-genie-4-world-model-adds-audio-more-realistic-worlds-and-real-time-steering/">up to two minutes of scene consistency</a>. That&#8217;s about double the 60-second limit of the Genie 3-powered Project Genie experience. It isn&#8217;t a clean comparison of the two research models&#8217; memory.</p><p>Google&#8217;s original Genie 3 research description already claimed <a href="https://deepmind.google/blog/genie-3-a-new-frontier-for-world-models/">broadly consistent environments lasting several minutes, with visual memory reaching about one minute into the past</a>. Its January 2026 Project Genie rollout separately imposed a <a href="https://blog.google/innovation-and-ai/models-and-research/google-deepmind/project-genie/">60-second generation cap on the product</a>.</p><p>Session duration, visual memory, and perfect object permanence measure different things. A two-minute experience should not be mistaken for two minutes of flawless spatial memory.</p><div id="youtube2-PDKhUknuQDg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PDKhUknuQDg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PDKhUknuQDg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Google Genie 4 access: Who should try it?</h3><p>As of October 29, 2026, Genie 4 remains a restricted research preview. Google plans to extend access through Project Genie to Google AI Ultra subscribers and, separately, to selected Gemini API and Google AI Studio partners. An Ultra subscription alone doesn&#8217;t establish access today.</p><p>Google&#8217;s <a href="https://deepmind.google/models/genie/">published access details announce the preview and planned rollout</a>, without generally available Genie 4 API pricing or downloadable model weights. You cannot presently install this model on your own GPU.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/sundarpichai/status/2115115252690145519&quot;,&quot;full_text&quot;:&quot;Excited to share Genie 4 today our most realistic and interactive world model:\n\n- steer dynamic environments in real time, shaping events, camera angles, and actions\n\n- generate native audio matched to the world, from realistic background sounds to characters who can converse in &#8230;&quot;,&quot;username&quot;:&quot;sundarpichai&quot;,&quot;name&quot;:&quot;Sundar Pichai&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2051799620062429184/AL8CoAUG_normal.jpg&quot;,&quot;date&quot;:&quot;2026-10-27T16:15:47.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!5PLB!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-13_2115114850510897152.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/BFgQQH9KUb&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:881,&quot;retweet_count&quot;:1487,&quot;like_count&quot;:19630,&quot;impression_count&quot;:1834151,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2115114850510897152/vid/avc1/1280x720/zZ1B9kvOaw8PWGwO.mp4&quot;,&quot;video_preview_media_key&quot;:&quot;13_2115114850510897152&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Google also says generated video and audio carry SynthID watermarks and that the service uses safety restrictions. Its launch announcement doesn&#8217;t provide Genie 4-specific retention or training-use terms sufficient to assure users that sensitive prompts and creative material stay private. A cloud-hosted research preview is a poor place to make confidential production assets your sole copy.</p><p>Filmmakers and game designers should watch Genie 4 for fast exploration of scenes and camera ideas. Robotics researchers should demand measurable correspondence with the real world before trusting it for physical training. Keep conventional tools in the workflow whenever stable, editable environments are essential.</p><p>Genie 4 convincingly generates the experience of being somewhere. The evidence so far doesn&#8217;t show that it can reliably remember everything about that somewhere when you turn your back.</p><div><hr></div><h4><em><strong>More on AI media-on-demand:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a5c726fd-e8e6-4c26-8e98-c9ee7b8aaf0b&quot;,&quot;caption&quot;:&quot;Open source generative AI is coming for the intellectual property industry at the exact point where that industry has always been strongest: scarcity.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The rise of culture-on-demand: reclaiming media from the intellectual property hogs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null},{&quot;id&quot;:362091076,&quot;name&quot;:&quot;Ben Geudens&quot;,&quot;bio&quot;:&quot;The one guy who reads the methodology section. &#127963;&#65039; Philosophy &#129504;Logic &#128220; History &#128396;&#65039; Art &#9889; Technology &#128509; Freedom &#128200; Economics &#129304;Rock 'n' Roll&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/417e99a9-0ecb-4a9e-8776-708770d1cd0c_324x324.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-01T22:29:51.220Z&quot;,&quot;cover_image&quot;:&quot;https://substack-video.s3.amazonaws.com/video_upload/post/192901373/3f0f88c0-bea0-4558-b2b6-471f8cd1115c/transcoded-1782493446.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/the-rise-of-culture-on-demand-reclaiming-media-from-intellectual-property-hogs&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:&quot;3f0f88c0-bea0-4558-b2b6-471f8cd1115c&quot;,&quot;id&quot;:192901373,&quot;type&quot;:&quot;podcast&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/google-genie-4-world-model/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/google-genie-4-world-model/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[How to move ComfyUI to a new PC without losing models, nodes, and workflows]]></title><description><![CDATA[Avoid missing-node and missing-model errors when moving ComfyUI. Preserve your files, record Python packages, and check Manager snapshots before switching PCs.]]></description><link>https://www.popularai.org/p/move-comfyui-new-pc</link><guid isPermaLink="false">https://www.popularai.org/p/move-comfyui-new-pc</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Fri, 30 Oct 2026 04:12:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JuSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JuSc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JuSc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JuSc!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Conceptual photograph of matching paper node graphs in two folders, illustrating a complete ComfyUI migration with the original preserved.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Conceptual photograph of matching paper node graphs in two folders, illustrating a complete ComfyUI migration with the original preserved." title="Conceptual photograph of matching paper node graphs in two folders, illustrating a complete ComfyUI migration with the original preserved." srcset="https://substackcdn.com/image/fetch/$s_!JuSc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!JuSc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F96d46a00-0c88-4b13-909d-8f5bdd1a3d1a_1600x900.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Moving ComfyUI means keeping the workflow and its supporting files together. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Moving ComfyUI to a new PC can leave you with every workflow JSON file intact and a screen full of missing-node and missing-model errors. To preserve a working setup, back up the files and record the software environment that runs them. Restore both into a separate installation, and keep the original PC untouched until the new one completes a representative workflow.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/move-comfyui-new-pc?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/move-comfyui-new-pc?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><div><hr></div><h3>Quick fix: back up the whole ComfyUI setup</h3><blockquote><p>Close ComfyUI on the old computer. </p></blockquote><blockquote><p>Copy your models, custom nodes, user data, workflows, configuration, and any inputs or outputs you need. </p></blockquote><blockquote><p>Record the Python and PyTorch environment before disconnecting the machine.</p></blockquote><blockquote><p>On the new PC, start with an appropriate ComfyUI installation, restore the files into its actual data directories, repair model paths, and install missing dependencies. </p></blockquote><p>Keep the working setup and backup until the restored installation passes a generation test. A Manager snapshot alone does not include every file you need.</p><div><hr></div><h3>Why copying a workflow or custom_nodes folder fails</h3><p>A workflow JSON describes a graph and its settings. It does not bundle the model weights, Python libraries, custom-node code, or external files referenced by that graph. ComfyUI supports <a href="https://github.com/Comfy-Org/ComfyUI">JSON workflow export, separate model directories, and custom nodes</a>, so a complete move needs more than the graph file.</p><p>A missing-node warning usually means the extension is absent or failed to import. A missing-model warning means the model file is absent, stored under a different category, or outside ComfyUI&#8217;s search paths. A Python import error usually points to an absent or incompatible package. Check which failure you have before changing files or reinstalling packages. Each problem needs a different fix.</p><div id="youtube2-TQhIYT1ZYGQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TQhIYT1ZYGQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TQhIYT1ZYGQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">1. </span>Diagnose and back up the old installation</h3><p>First identify whether you use Windows portable, Desktop, or a manual Python installation. Check the startup console or logs for the actual user directory, model directories, and Python executable, especially if you use custom launch flags. Record your GPU, driver, Python and PyTorch versions, ComfyUI release or Git commit, and essential custom-node versions. Keep those notes with the backup so you can compare the old and new environments.</p><p>Make one backup folder containing:</p><ul><li><p><code>models/</code> and any external model libraries, including checkpoints, diffusion models, text encoders, LoRAs, VAEs, and upscalers.</p></li><li><p><code>custom_nodes/</code>, including manually installed extensions and their files.</p></li><li><p><code>user/</code>, including saved workflows, settings, and Manager data. Export important workflows separately as <code>.json</code> too.</p></li><li><p><code>input/</code>, important <code>output/</code> files, and any custom datasets or reference assets.</p></li><li><p><code>extra_model_paths.yaml</code>, other launch and configuration files, and a note of absolute paths, symlinks, and launch arguments.</p></li></ul><p>Some folders may live outside the installation root. Check where your installation actually reads its data instead of assuming everything sits under <code>ComfyUI/</code>. An external model library still needs a backup even when the app folder is copied in full.</p><p>If ComfyUI-Manager is installed, save a snapshot as another recovery aid. Its <a href="https://github.com/Comfy-Org/ComfyUI-Manager">snapshot support is incomplete for custom nodes not managed by Git</a>. The snapshot records installation state. Keep a separate backup of your models, workflows, and Python environment information.</p><div id="youtube2-NzsokM-W3Ow" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;NzsokM-W3Ow&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/NzsokM-W3Ow?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>For a manual Python installation, activate the working virtual environment and run:</p><pre><code><code>python --version
python -m pip freeze &gt; comfyui-packages.txt
python -m pip check
</code></code></pre><p>Keep <code>comfyui-packages.txt</code> with the backup. Record <code>git rev-parse HEAD</code> from a Git-based ComfyUI checkout when available. A portable installation can query packages using its own embedded Python, commonly <code>python_embeded\python.exe</code>, rather than the system Python. The package record needs to describe the environment ComfyUI actually uses.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">2. </span>Restore ComfyUI on the new PC</h3><p>Use the restore method that matches your installation. A portable folder can include its Python runtime, while Desktop stores application files separately from its working data. For a manual installation, rebuild the Python environment for the new operating system and GPU.</p><h4><strong><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Windows portable:</strong> copy the folder and check compatibility</h4><p>On another compatible Windows PC, copying the complete <code>ComfyUI_windows_portable</code> folder is often the closest thing to a direct transfer. It includes the application, embedded Python environment, and launch scripts. Choose an appropriate <a href="https://github.com/Comfy-Org/ComfyUI#installing">official Windows portable build</a> if the new GPU needs a different package or runtime.</p><p>Copy the folder to a normal writable location, such as <code>D:\AI\ComfyUI_windows_portable</code>, and use the launch script appropriate to the new GPU. If ComfyUI starts but nodes fail to import, reinstall their dependencies using that installation&#8217;s Python. Installing them into another Python on the PC won&#8217;t repair the environment running ComfyUI. Don&#8217;t blindly carry over GPU-specific wheels when switching hardware.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Desktop</strong>: restore the data to the right installation</h4><p>Desktop installations separate app files from user-selected model and workflow storage. In the original Desktop app, <a href="https://github.com/Comfy-Org/desktop">Windows settings live in </a><code>%APPDATA%\ComfyUI</code>, including <code>config.json</code> and <code>extra_models_config.yaml</code>. The <code>basePath</code> setting points to the main data directory. Newer <a href="https://github.com/Comfy-Org/Comfy-Desktop">Comfy Desktop builds support separate installations and importing existing setups</a>.</p><div id="youtube2-dNm3cQ7bBRk" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;dNm3cQ7bBRk&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/dNm3cQ7bBRk?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Install Desktop on the new PC, create or import a separate setup, and locate its model, custom-node, user, input, and output directories. Restore your backup into those locations. Recreate external model mappings and compare app configuration where necessary. Avoid blindly replacing the new app&#8217;s binaries or entire configuration. Paths and installation formats can differ across Desktop generations, so an old configuration file may point to folders that don&#8217;t exist on the new computer.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Manual Python</strong>: rebuild the environment</h4><p>Copy your ComfyUI checkout and files, but create a new virtual environment with a compatible Python version. Follow the <a href="https://github.com/Comfy-Org/ComfyUI#manual-install-windows-linux">ComfyUI manual installation instructions for the appropriate PyTorch build</a> for your new operating system and GPU. From the ComfyUI directory, run <code>python -m pip install -r requirements.txt</code>. Then install each required custom node&#8217;s documented dependencies in that same environment.</p><p>Use the saved <code>comfyui-packages.txt</code> to compare versions. Don&#8217;t treat it as a universal reinstall command. Packages pinned to a former CUDA build, platform, or Python version may fail on the new machine. If possible, restore the recorded ComfyUI and node revisions before updating anything. Changing versions during the move makes it harder to tell whether a failure came from the migration or an update.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">3. </span>Fix missing models and restore Manager snapshots</h3><p>If model files are present but dropdowns are empty, check <code>extra_model_paths.yaml</code>. Put <code>base_path</code><a href="https://github.com/Comfy-Org/ComfyUI/blob/master/extra_model_paths.yaml.example"> and model-category mappings beneath a named section</a>. Replace old drive letters with paths that exist on the new PC, then restart ComfyUI and inspect the startup log. For Desktop, verify which configuration file the launcher actually passes. Check <a href="https://www.popularai.org/p/fix-comfyui-extra-model-paths-yaml-not-working">folder keys, YAML structure, and model-path configuration errors</a> if the files still don&#8217;t appear.</p><div id="youtube2-e0kWHZtnlps" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;e0kWHZtnlps&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/e0kWHZtnlps?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Recent Manager versions store configuration and snapshots under <code>user/__manager/</code>, while older versions used <code>user/default/ComfyUI-Manager/</code>. During the security migration, <a href="https://github.com/Comfy-Org/ComfyUI-Manager/blob/main/docs/en/v3.38-userdata-security-migration.md">old snapshots are not automatically migrated</a>. Check your backup before copying older snapshots into the protected location. A snapshot restore takes effect after a restart, so selecting Restore is not the last step.</p><div><hr></div><h3><span data-color="#00c89a" style="color: rgb(0, 200, 154);">4. </span>Test the restored workflow before deleting anything</h3><p>Open a saved workflow that uses your most important model and several custom nodes. Check that model dropdowns contain the correct files, nodes load without warnings, and the workflow completes a generation. Compare the new output for obvious differences. Don&#8217;t demand pixel-identical results across different GPUs, package versions, or nondeterministic operations.</p><div id="youtube2-uafAN8zLKD8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uafAN8zLKD8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uafAN8zLKD8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Keep the original installation and backup until these checks pass:</p><ul><li><p>Your saved workflows and required input assets are accessible.</p></li><li><p>Models and custom nodes appear, with no startup import failures.</p></li><li><p>At least one representative workflow runs and writes a usable output.</p></li></ul><p>If the workflow still fails, keep the new installation separate and read the first relevant startup traceback. Check for <code>ModuleNotFoundError</code>, missing model paths, or CUDA/PyTorch compatibility before changing more packages. For failures introduced by version changes, follow the steps to <a href="https://www.popularai.org/p/why-comfyui-updates-break-workflows-and-how-to-fix-them">recover ComfyUI workflows after a broken update</a>.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Keep ComfyUI recoverable for the next PC move</h3><p>Keep model libraries outside app-update directories where practical. Save explicit workflow JSON exports and record package and node versions before major changes. Treat custom nodes as third-party code and inspect unknown scripts before running them. Don&#8217;t copy tokens or API keys indiscriminately into backups or share logs containing private paths and credentials.</p><p>Preserve the old installation, restore into a separate one, and run your hardest essential workflow before switching computers for good. A successful launch gets you to the canvas. A completed workflow confirms that the files, paths, nodes, and dependencies survived the move together.</p><div><hr></div><h4><em><strong>More on ComfyUI troubleshooting:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;dd429d65-93f6-4778-9d4d-c47d026ee51e&quot;,&quot;caption&quot;:&quot;If ComfyUI extra_model_paths.yaml is not working, do not start by reinstalling ComfyUI or moving hundreds of gigabytes of models. The usual cause is much simpler: the file is in the wrong place, the YAML st&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;ComfyUI extra_model_paths.yaml not working? Here&#8217;s the fix&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-08T14:03:07.030Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!OswA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5706dad9-34b8-4938-8340-cf093f45e266_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/fix-comfyui-extra-model-paths-yaml-not-working&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:200922223,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d06507fc-acd6-4ebf-97b3-461ae61c7947&quot;,&quot;caption&quot;:&quot;ComfyUI update problems feel chaotic when you are the one living through them. One day a workflow runs fine. The next day you update ComfyUI, install a custom node, or refresh a Python package be&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Why ComfyUI updates break workflows and how to fix them&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-17T15:33:00.000Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!W1JS!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7610438-53b9-49c6-b9f6-9f7ece4fa14f_2560x1567.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/why-comfyui-updates-break-workflows-and-how-to-fix-them&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:191513180,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/move-comfyui-new-pc/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/move-comfyui-new-pc/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Reddit's open-source AI ban is punishing the independent developers it claims to protect]]></title><description><![CDATA[Reddit&#8217;s r/opensource AI ban also excludes solo projects, young teams, and AI-translated posts. Here&#8217;s what the rules mean for independent developers.]]></description><link>https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers</link><guid isPermaLink="false">https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Thu, 29 Oct 2026 15:12:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xcrd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xcrd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xcrd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 424w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 848w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 1272w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xcrd!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:2003554,&quot;alt&quot;:&quot;Conceptual photograph of a solo developer outside a closed workshop gate, representing access barriers in Reddit&#8217;s r/opensource community&quot;,&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://www.popularai.org/i/222565822?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Conceptual photograph of a solo developer outside a closed workshop gate, representing access barriers in Reddit&#8217;s r/opensource community" title="Conceptual photograph of a solo developer outside a closed workshop gate, representing access barriers in Reddit&#8217;s r/opensource community" srcset="https://substackcdn.com/image/fetch/$s_!xcrd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 424w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 848w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.png 1272w, https://substackcdn.com/image/fetch/$s_!xcrd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5d748872-5f7a-447f-84ca-423741a495a5_1672x940.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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Reddit&#8217;s r/opensource AI ban puts independent developers behind new posting barriers.<em> AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>A solo developer can maintain useful open-source software for years and still fail the new posting rules at Reddit&#8217;s r/opensource. The community&#8217;s October 24, 2026 AI ban reaches beyond low-effort generated code. It adds requirements for a project&#8217;s age, contributor count, existing audience, and its creator&#8217;s ability to speak English. Legitimate developers can be turned away before anyone examines their work.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The backlash has already prompted a promise to revisit the rules. As of October 27, the gap between the sweeping announcement and the exceptions moderators say they&#8217;ll make remains unresolved. Independent maintainers face a practical problem: access to an established discovery channel now depends on criteria that have little connection to software quality.</p><div><hr></div><h3>What the r/opensource AI ban actually covers</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>On October 24, moderator u/Wolvereness announced that <a href="https://www.reddit.com/r/opensource/comments/1xelcuf/your_tokens_arent_valuable_no_more_ai/">projects using AI, built with AI, or intended for AI</a> <strong>were unwelcome at r/opensource</strong>. The same post imposed eligibility requirements on projects with no AI involvement at all.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Developers <strong>advertising a project</strong> were told it needed <a href="https://www.theverge.com/ai-artificial-intelligence/1018217/reddit-opensource-ai-ban">at least one year of active maintenance, multiple contributors, and an existing community</a>. The contributor threshold was described as roughly three or more, subject to judgment. Common school-style projects were excluded, and requests for maintainers or contributors were no longer welcome. The longstanding requirement for an Open Source Initiative-approved license remained.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Posters also faced an <strong>existing one-year Reddit account minimum</strong> with significant activity. Asking for an exception after a failed posting attempt could lead to a permanent ban and mute. Registered nonprofit organizations could request approval in advance for exemptions from the project and account minimums. An ordinary solo maintainer had no equivalent route through those requirements.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>The <strong>language provision</strong> went further. People who couldn&#8217;t speak English were told to find another community because moderators said they couldn&#8217;t distinguish an AI-written post from an AI-translated one. A developer could therefore be excluded because of the tool used to communicate, regardless of the quality of the software being discussed.</p><p>These restrictions govern participation in <em>one </em>subreddit. They don&#8217;t change a project&#8217;s license, remove its GitHub repository, or impose a Reddit-wide ban. But r/opensource is a discovery channel. Losing access means losing a place to introduce a project, reach potential users, and attract collaborators who might help maintain it.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Moderator discretion decides which projects get seen</h3><p>The policy leaves substantial room for a moderator&#8217;s judgment. A one-year history and a contributor count are easy to measure, but neither establishes whether code is trustworthy. &#8220;Uses AI&#8221; could describe generating most of a repository, asking an assistant to review a function, adding speech recognition, or building a tool that works with local models. Those uses create different questions about quality and responsibility.</p><div id="youtube2-1GVBRhDI5No" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1GVBRhDI5No&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1GVBRhDI5No?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The moderator later suggested that incidental accessibility features, including automatic captions, could be allowed. On October 26, a follow-up said <a href="https://www.reddit.com/r/opensource/comments/1xfursg/adjustments_will_be_made/">adjustments would be made</a>. The moderator also said <a href="https://tech.slashdot.org/story/26/10/26/0540245/reddits-largest-open-source-community-dumbfounded-by-ai-ban-i-guess-linux-is-no-longer-allowed">Linux would remain welcome</a>. That clarification left smaller projects without a settled test they could apply before submitting.</p><p>An established project can receive reassurance that a newcomer has little basis to expect. Developers must anticipate whether moderators consider their work sufficiently established or obviously acceptable. That uncertainty adds another obstacle for someone who already lacks the audience and contributor base the announcement requires.</p><p>The <a href="https://opensource.org/osd">Open Source Definition concerns license permissions, including reuse, modification, redistribution, and nondiscrimination</a>. It sets no minimum project age, contributor headcount, or prior popularity. A private discussion forum can choose what it publishes, but its admission rules don&#8217;t determine whether software qualifies as open source. r/opensource has added participation thresholds to a software category defined on different terms.</p><div id="youtube2-3aw9h4qvy1A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3aw9h4qvy1A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3aw9h4qvy1A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Solo maintainers and newcomers have the least room to comply</h3><p>Consider a lone maintainer who has kept a small utility secure and working for years. Requiring three contributors doesn&#8217;t improve that utility. Under the announced threshold, it makes the author ineligible to introduce it to the community. A young team faces a similar trap: it needs collaborators and users to become established, yet cannot use the forum to find them until it is already established.</p><p>The English rule compounds the problem. A developer might write clear documentation in another language and use translation to join an English-language discussion. Excluding that person because they used AI translation blocks participation before the discussion can begin. Translation errors need attention, but requesting clarification, including the original text, or using ordinary translation tools would give moderators something concrete to assess.</p><p>Objections also came from inside the moderation team. In an October 25 public response, fellow moderator Dan Brown, known as u/ssddanbrown, said he <a href="https://danb.me/blog/opensource-sub-rules/">disagreed with the changes and could see no prior consultation among moderators</a>. He credited u/Wolvereness with doing most of the difficult moderation work. Brown updated his post on October 26 to say he was leaving the team, citing the escalating dispute and stress.</p><div class="callout-block" data-callout="true"><p>Alternative communities, including <a href="https://thenextweb.com/news/reddits-r-opensource-bans-ai-projects-and-non-english-speakers-too">r/TrueOpenSource and r/OpenSourceAIAllowed, emerged during the backlash</a>. They offer another place to post. </p></div><p>A new subreddit, however, doesn&#8217;t immediately replace an established community&#8217;s audience or visibility. Developers can move their submissions more easily than they can move the people they hoped would read them.</p><p>Claims circulating about inconsistent bans and hostile treatment need individual documentation before they can support broader conclusions about enforcement. The announced requirements already provide enough reason to question the policy&#8217;s effect on independent developers.</p><div><hr></div><h3>AI spam is real, but age and headcount are poor quality tests</h3><p>Brown&#8217;s account grants the strongest argument for restrictions: hastily generated projects and promotional posts consume scarce moderator time. He described one colleague doing most of that work and said AI-made submissions were pushing substantial discussion out of view. Protecting volunteer attention is a reasonable goal. A community that becomes a launch-promotion feed can lose the discussion that made it useful.</p><div id="youtube2-6wYSwZ20NJU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6wYSwZ20NJU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6wYSwZ20NJU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Project age and headcount remain weak substitutes for quality. A three-person team can produce a poorly tested project. One maintainer can release a carefully documented utility with reproducible tests, a clear license, and a commitment to fixing bugs. If both otherwise meet the rules, the announced contributor threshold can admit the former and exclude the latter. Having more names in a repository doesn&#8217;t establish that anyone checked the work.</p><p>Major projects already use alternatives tied to what contributors submit. The <a href="https://llvm.org/docs/AIToolPolicy.html">LLVM policy permits AI-assisted contributions while requiring human review, accountability, and enough understanding to answer reviewers&#8217; questions</a>. It allows translation or copy-editing of descriptions, but prohibits autonomous agents from posting without human approval. The contributor must do the checking before asking someone else to spend time on the submission.</p><p>The <a href="https://docs.kernel.org/process/coding-assistants.html">Linux kernel&#8217;s guidance requires a human to review generated code, satisfy licensing requirements, and take responsibility for the contribution</a>. These requirements give reviewers conduct and evidence to assess. A contributor can meet them by doing the work, without first assembling a larger team or waiting for a project anniversary.</p><div id="youtube2-ec7gDUFm2-Q" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ec7gDUFm2-Q&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ec7gDUFm2-Q?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A <a href="https://arxiv.org/abs/2609.07542">September 2026 study of 281 AI contribution policies found that 83.3% permitted or encouraged AI-assisted code contributions</a>. Of the policies examined, 67.3% required substantial human involvement and 43.4% explicitly assigned accountability. The sample focused on policies in popular repositories, rather than every open-source project. It shows that blanket exclusion is far from the only available response, without establishing which policy works best in every community.</p><p>Another Reddit community, <a href="https://www.reddit.com/r/selfhosted/comments/1x8gev9/removed/">r/selfhosted, offers a megathread route for projects younger than three months</a>. Brown endorsed that lighter approach. It limits repeated launch promotion while retaining a route for newcomers to show their work. Early-stage projects have somewhere to go while they build a maintenance history.</p><p>Our <a href="https://www.popularai.org/p/ai-generated-pull-requests-open-source-maintainers">guide to AI-generated pull requests recommends small, reviewed changes, proof of testing, and a responsible human who can answer questions</a>. Those standards address the work a submission creates for someone else. They don&#8217;t require a project to become popular before it is allowed to be discovered.</p><div><hr></div><h4><em><strong>More on AI-assisted software development:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;5eb8c2ce-3f5a-489b-aa77-13ad4c3689a5&quot;,&quot;caption&quot;:&quot;AI-generated pull requests have changed the economics of contributing to open-source software. A coding agent can inspect a repository, edit several files, write tests, prepare a de&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI-generated pull requests are dumping work on maintainers&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-07-19T13:21:43.522Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EoYd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffeef1412-0a2e-4834-a0bf-38dd3c6bd07c_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/ai-generated-pull-requests-open-source-maintainers&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:207647985,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Independent developers need discovery channels they can keep</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Keep your repository, documentation, changelog, license, and issue tracker available outside any one social forum. If you use AI, be able to explain which parts you reviewed, how you tested the result, and who will maintain it. A public history of fixes and responses to issues provides stronger evidence of responsibility than an arbitrary contributor count.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Before posting to r/opensource, read the current rules instead of assuming the October 24 announcement is the final policy. <strong>Consider other relevant communities</strong> for early-stage work, respect their submission rules, and avoid repeating the same promotional message everywhere. An alternative forum is useful only if its members have a reason to engage with the project.</p><p>If you run a community, publish clear acceptance criteria and provide a route for young projects. Judge the burden a submission creates and the evidence its author supplies. Trying to infer how many tokens produced a repository gives contributors little guidance about what they must do to earn a review.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/github/status/2067751695514542329&quot;,&quot;full_text&quot;:&quot;Pull requests are easier to open than ever, but every review still takes human effort.\n\nIntroducing pull request limits: maintainers can cap how many open PRs contributors without write access can have and set a bypass list for trusted contributors.\n\nMore signal, less queue &quot;,&quot;username&quot;:&quot;github&quot;,&quot;name&quot;:&quot;GitHub&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2051404708766507008/ATxxTJXO_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-18T23:29:55.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gF92!,w_1028,c_limit,f_auto,q_auto:best,fl_progressive:steep/l_play_button_usfui2,w_88,e_colorize:0/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F__ss-rehost__tw-video-preview-13_2067751349333512192.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/LmxtwmKLPz&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:27,&quot;retweet_count&quot;:42,&quot;like_count&quot;:379,&quot;impression_count&quot;:68254,&quot;expanded_url&quot;:null,&quot;video_url&quot;:&quot;https://video.twimg.com/amplify_video/2067751349333512192/vid/avc1/1164x720/4OmVWPeY5RfXDn1k.mp4&quot;,&quot;video_preview_media_key&quot;:&quot;13_2067751349333512192&quot;,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>The October 26 promise of adjustments leaves a specific question open: will r/opensource replace broad eligibility tests with requirements tied to quality and human responsibility, or keep granting exceptions by reputation? Until revised rules are published and applied consistently, independent developers should keep their discovery and collaboration channels diversified. Maintain a public record of the work, and give potential users more than one place to find it.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/reddit-opensource-ai-ban-solo-developers/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Can you run local AI on an eGPU? USB4 vs Thunderbolt vs OCuLink]]></title><description><![CDATA[Choose an eGPU for local LLMs with the right host connection and enough VRAM. Compare DEG1, DEG2, and ADT-Link docks before buying.]]></description><link>https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink</link><guid isPermaLink="false">https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Thu, 29 Oct 2026 03:43:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kEyZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kEyZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kEyZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kEyZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;MINISFORUM DEG2 external GPU dock with disconnected USB-C and OCuLink cables on a desk, illustrating connection choices for local AI.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="MINISFORUM DEG2 external GPU dock with disconnected USB-C and OCuLink cables on a desk, illustrating connection choices for local AI." title="MINISFORUM DEG2 external GPU dock with disconnected USB-C and OCuLink cables on a desk, illustrating connection choices for local AI." srcset="https://substackcdn.com/image/fetch/$s_!kEyZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!kEyZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F626e75d8-0639-40e2-b59b-1ebd0e160f00_1672x941.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">USB4, Thunderbolt, and OCuLink offer different routes to an eGPU for local AI. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Yes, an external GPU can run local LLMs and ComfyUI effectively. An eGPU for local AI is most appealing when you already own a capable computer and want more VRAM without replacing the whole machine. But the catch is bandwidth. USB4 and Thunderbolt can handle AI inference well when a model stays entirely in GPU memory, but loading large models, CPU offloading, and some multi-GPU workloads can expose their limitations.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>For a laptop, USB4 or Thunderbolt is usually the practical route. A dock such as the <a href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20">MINISFORUM DEG2</a> lets you reuse a desktop graphics card, provided the host supports the connection. For a mini PC with OCuLink, that connection is generally the better choice. If you&#8217;re building a serious multi-GPU AI machine from scratch, internal PCIe remains preferable.</p><p><em>Disclosure: This post includes Amazon affiliate links. If you buy through them, Popular AI may earn a small commission at no extra cost to you.</em></p><div><hr></div><h3>Quick verdict: which eGPU connection should you buy?</h3><blockquote><p>Best value <strong>for an OCuLink mini PC</strong>: The <a href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20">MINISFORUM DEG1</a> is a straightforward PCIe 4.0 x4 dock, listed at $109 in the U.S. manufacturer store on October 27, 2026. You&#8217;ll need a compatible OCuLink port, GPU, and separate power supply.</p></blockquote><blockquote><p>Best <strong>versatile dock</strong>: The <a href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20">MINISFORUM DEG2</a> combines OCuLink with USB4 v2/Thunderbolt 5 compatibility. At the manufacturer&#8217;s listed $239.90, it makes sense if you want to use one desktop GPU with different computers.</p></blockquote><blockquote><p>Best DIY route <strong>for an existing USB4 or Thunderbolt 4 laptop</strong>: The <a href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20">ADT-Link UT3G</a> is a 40Gbps USB4-to-PCIe adapter. It can serve a single-GPU AI setup, although its exposed-board design, separate power supply, and inconsistent retail availability make it less convenient than a complete enclosure.</p></blockquote><p>Skip the eGPU purchase if your main workload constantly transfers model data between CPU RAM and VRAM, or if you&#8217;re planning a multi-GPU workstation where fast GPU-to-GPU communication is important.</p><div><hr></div><h3>USB4 vs Thunderbolt vs OCuLink: what changes for local AI?</h3><p>An eGPU connects a desktop graphics card through a much smaller data link than a typical internal PCIe slot. The GPU still has its own VRAM and performs calculations locally. The restricted connection primarily affects how quickly data moves between the host computer and the card.</p><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>USB4 and Thunderbolt 3/4</strong>: convenient, but shared bandwidth</h4><p>A conventional USB4 40Gbps connection offers a theoretical link rate of 5GB/s before protocol overhead. Thunderbolt 3 and 4 use comparable 40Gbps links, although their PCIe tunneling implementations and minimum requirements differ.</p><p>USB4 <a href="https://www.usb.org/usb4">dynamically shares bandwidth between different protocols</a>. Intel specifies <a href="https://www.intel.com/content/www/us/en/architecture-and-technology/thunderbolt/overview.html">40Gbps for Thunderbolt 4 and 80Gbps bidirectionally for Thunderbolt 5</a>.</p><p>Neither number is a guarantee of GPU transfer speed. Controller design, PCIe tunneling, other connected devices, firmware, and cable capability all affect the usable bandwidth.</p><p>A USB-C connector alone does not establish eGPU compatibility. An ordinary USB 3.2 port cannot run a PCIe graphics card through a USB4 eGPU adapter.</p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Thunderbolt 5 and USB4 v2</strong>: faster, with conditions</h4><p>Thunderbolt 5 raises the available link bandwidth to 80Gbps bidirectionally and increases PCIe tunneling capability. USB4 v2 also supports higher-speed operation.</p><p>These improvements can reduce bottlenecks during large transfers, but both the computer and dock must support the required connection mode. Attaching an 80Gbps dock to a 40Gbps laptop doesn&#8217;t upgrade the laptop&#8217;s controller.</p><p>For a local LLM that is already loaded entirely into VRAM, spending more on Thunderbolt 5 may produce little benefit during ordinary token generation.</p><div id="youtube2-ptl8pRwtMEY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ptl8pRwtMEY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ptl8pRwtMEY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>OCuLink</strong>: a more direct PCIe connection</h4><p>OCuLink commonly exposes four PCIe 4.0 lanes directly from the host. That provides approximately 7.9GB/s of theoretical bandwidth in each direction before overhead, without USB4&#8217;s tunneling layer.</p><p>The connection is attractive for mini PCs that already expose an OCuLink port, particularly when model loading or repeated transfers are substantial.</p><div class="callout-block" data-callout="true"><p>&#9888;&#65039; OCuLink doesn&#8217;t normally supply GPU power or laptop charging, and consumer OCuLink GPU setups generally must not be hot-plugged. Shut down the host before connecting or disconnecting the cable.</p></div><p>An OCuLink connector also needs to be wired to a usable PCIe host interface. It cannot be created by attaching an ordinary passive adapter to a USB-C port.</p><div id="youtube2-cisSS5XQ1IQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;cisSS5XQ1IQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/cisSS5XQ1IQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h3>Which connection is best for your AI workload?</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8Pgv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8Pgv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 424w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 848w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 1272w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!8Pgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp" width="728" height="707" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1414,&quot;width&quot;:1456,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Eight eGPU buying scenarios comparing USB4, Thunderbolt 5, OCuLink, and internal PCIe, with host requirements and workload caveats.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Eight eGPU buying scenarios comparing USB4, Thunderbolt 5, OCuLink, and internal PCIe, with host requirements and workload caveats." title="Eight eGPU buying scenarios comparing USB4, Thunderbolt 5, OCuLink, and internal PCIe, with host requirements and workload caveats." srcset="https://substackcdn.com/image/fetch/$s_!8Pgv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 424w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 848w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 1272w, https://substackcdn.com/image/fetch/$s_!8Pgv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4e73165-9fd4-4c5f-9089-d999ade6749d_1800x1748.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Choose an eGPU connection around your computer and local AI workload. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>For a <strong>laptop with USB4 or Thunderbolt 4</strong>, choose a USB4 eGPU dock after confirming PCIe tunneling and external GPU support. A Thunderbolt 5 laptop can justify a Thunderbolt 5 dock for repeated large transfers. A mini PC with OCuLink benefits from an OCuLink dock&#8217;s bandwidth and relatively low cost.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>For a <strong>small desktop without GPU clearance</strong>, use external PCIe/OCuLink if supported, or USB4 otherwise. Compare the full cost with a case or motherboard upgrade. Single-GPU Ollama or llama.cpp inference can work over USB4, Thunderbolt, or OCuLink, but prioritize enough VRAM for the model and KV cache.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Prefer internal PCIe <strong>for multi-GPU LLM inference</strong>. External layer splitting may work, but communication and stability become more complicated. ComfyUI image generation can use any supported eGPU with sufficient VRAM, although repeated model loading and offloading can be costly. Frequent CPU-to-GPU transfers favor internal PCIe or a higher-memory GPU, since more bandwidth can be more valuable than faster GPU cores.</p><p>The biggest mistake is assuming that a 40Gbps eGPU automatically runs local AI at a fixed percentage of desktop performance. Published inference results show much more variation.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>What published local LLM benchmarks actually show</h3><p>Use tests that measure AI workloads directly when judging an eGPU for local LLMs. Gaming frame rates are a poor substitute because game rendering, model loading, prompt processing, and token generation stress the connection differently.</p><p>In Jan&#8217;s published tests, Mistral 7B Q4_K_M running through llama.cpp produced <a href="https://www.jan.ai/post/benchmarking-nvidia-tensorrt-llm">100.43 tokens/s on a desktop RTX 4090 and 62.22 tokens/s on a Thunderbolt 3 RTX 4090 eGPU</a>. The external card was connected to a Razer Blade 14.</p><p>That&#8217;s a substantial difference, but it isn&#8217;t a controlled measurement of Thunderbolt overhead alone. The test used different host computers, including different CPUs and PCIe connections. It demonstrates that the eGPU worked and remained useful. It doesn&#8217;t establish a universal 38% eGPU penalty.</p><p>A <a href="https://gist.github.com/slewsys/da27a118587b6a50abe1218c55f215a0">llama.cpp benchmark comparing internal and external RTX 3090s</a>, published by developer slewsys, shows why prompt processing and generation need separate measurements. Using an HP Z8 G4, internal and Thunderbolt-connected RTX 3090 cards, and a partially GPU-offloaded gpt-oss-120b model, the tester recorded:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jKRQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jKRQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 424w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 848w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 1272w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!jKRQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp" width="1456" height="890" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:890,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Internal versus Thunderbolt 3 RTX 3090 results: 303.84 versus 140.46 tokens/s for a 2,048-token prompt, and 2.33 versus 2.27 tokens/s for 128-token generation.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Internal versus Thunderbolt 3 RTX 3090 results: 303.84 versus 140.46 tokens/s for a 2,048-token prompt, and 2.33 versus 2.27 tokens/s for 128-token generation." title="Internal versus Thunderbolt 3 RTX 3090 results: 303.84 versus 140.46 tokens/s for a 2,048-token prompt, and 2.33 versus 2.27 tokens/s for 128-token generation." srcset="https://substackcdn.com/image/fetch/$s_!jKRQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 424w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 848w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 1272w, https://substackcdn.com/image/fetch/$s_!jKRQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc660c88a-4f44-4159-b25c-4bc46e68084f_1800x1100.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Published RTX 3090 eGPU results separate prompt processing from token generation. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>For 2,048-token prompt processing, the internal RTX 3090 recorded 303.84 tokens/s, compared with 140.46 tokens/s over Thunderbolt 3. In the 128-token generation test, the results were 2.33 tokens/s internally and 2.27 tokens/s externally.</p><p>The cards were different board implementations, so the comparison has limits. Still, the change in prompt-processing speed was much larger than the change in token generation.</p><p>There&#8217;s also evidence that modern non-NVIDIA cards can work externally. An <a href="https://github.com/jeffgrover/b70-setup">Intel Arc Pro B70 USB4 setup documented in October 2026</a> uses a 32GB GPU with llama.cpp on a Minisforum mini PC. Its author reports successful full-GPU inference, including Qwen-family models, and approximately 20&#8211;30-second cold loads when switching models. Those results describe one configured system, rather than a comparison against the same GPU installed internally.</p><p>Taken together, these examples support a practical rule: an eGPU is most attractive when you load a model once, keep it in VRAM, and reuse it.</p><div><hr></div><h3>Where eGPU bandwidth affects AI performance</h3><p>Model loading is an obvious bottleneck. Weights must travel from storage and system memory to the graphics card. A restricted external link can make cold starts and frequent model changes noticeably slower.</p><p>Prompt processing is more complicated. The CPU, inference backend, attention implementation, batch size, and model placement all influence the result. When execution repeatedly crosses the host connection, USB4 or Thunderbolt can become expensive.</p><p>During token generation, a fully GPU-resident model can perform much of its work inside the card. The GPU&#8217;s own memory bandwidth is often more important than the external cable. That&#8217;s why a 40Gbps link can still deliver useful decoding performance.</p><div id="youtube2-uj2_JRDboHg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;uj2_JRDboHg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/uj2_JRDboHg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Once model layers spill into system RAM, the calculation changes. The CPU may process some layers while the GPU processes others, or data may move across the host connection during execution. Neither arrangement benefits from treating system RAM as interchangeable with VRAM.</p><p>Multi-GPU inference introduces another layer of complexity. llama.cpp supports <a href="https://github.com/ggml-org/llama.cpp/blob/master/docs/multi-gpu.md">different ways to split a model across GPUs</a>. Layer splitting can be relatively practical because work crosses device boundaries less frequently. Tensor splitting creates greater communication demands and has additional software limitations.</p><p>Two GPUs also don&#8217;t automatically become one large, unified memory pool for every AI application.</p><p>For ComfyUI, the decisive question is whether the active models and intermediate data fit in GPU memory. A workflow that keeps its denoising model resident is a better candidate than one that repeatedly loads checkpoints, swaps text encoders, or offloads components to RAM. ComfyUI <a href="https://github.com/Comfy-Org/ComfyUI/blob/master/README.md">supports NVIDIA, AMD, and Intel GPUs</a>, although installation paths and backend compatibility differ.</p><div><hr></div><h3>The external GPU docks worth considering</h3><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>MINISFORUM DEG1</strong>: best budget dock for OCuLink mini PCs</h4><p>The DEG1 is a straightforward choice for someone who already owns an OCuLink-equipped mini PC and a compatible desktop GPU.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7gB_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!7gB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;MINISFORUM DEG1 bare OCuLink eGPU dock on a workbench, showing the PCIe slot and power connector for a local AI GPU setup.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20&quot;,&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="MINISFORUM DEG1 bare OCuLink eGPU dock on a workbench, showing the PCIe slot and power connector for a local AI GPU setup." title="MINISFORUM DEG1 bare OCuLink eGPU dock on a workbench, showing the PCIe slot and power connector for a local AI GPU setup." srcset="https://substackcdn.com/image/fetch/$s_!7gB_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!7gB_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9006a7bd-3c6a-4092-a8d6-98c8a8e57a15_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20">MINISFORUM DEG1</a> <em>AI-modified</em></figcaption></figure></div><p>Its PCIe 4.0 x4 connection avoids USB4 tunneling, while the open-frame design accommodates large desktop cards without the dimensional restrictions of a conventional enclosure. The U.S. manufacturer store <a href="https://store.minisforum.com/products/minisforum-deg1-egpu-dock">listed the DEG1 at $109 on October 27, 2026</a>. The <a href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20">MINISFORUM DEG1 is also listed on Amazon</a>.</p><p>The dock does not include a desktop GPU or ATX/SFX power supply. It also cannot help a laptop whose only expansion connection is USB4.</p><p>Buy it when you have a native OCuLink port and want the least complicated external PCIe setup. Skip it if you&#8217;re hoping to connect it through an ordinary USB-C port.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find MIINISFORUM DEG1 deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20"><span>Find MIINISFORUM DEG1 deals on Amazon</span></a></p><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>MINISFORUM DEG2</strong>: best for USB4 v2, Thunderbolt 5, and mixed hosts</h4><p>The DEG2 makes more sense when you need flexibility. It supports OCuLink and USB4 v2/Thunderbolt 5 connectivity, adds an M.2 SSD slot and peripheral connections, and can be used with a desktop graphics card and separate ATX/SFX power supply.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VyIj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!VyIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c8407590-1817-4bb9-95a9-018254d84783_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;MINISFORUM DEG2 bare eGPU dock on a desk, showing the PCIe slot and power sockets for an external local AI graphics card.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20&quot;,&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="MINISFORUM DEG2 bare eGPU dock on a desk, showing the PCIe slot and power sockets for an external local AI graphics card." title="MINISFORUM DEG2 bare eGPU dock on a desk, showing the PCIe slot and power sockets for an external local AI graphics card." srcset="https://substackcdn.com/image/fetch/$s_!VyIj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!VyIj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8407590-1817-4bb9-95a9-018254d84783_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20">MINISFORUM DEG2</a> <em>AI-modified</em></figcaption></figure></div><p>The manufacturer <a href="https://www.minisforum.com/products/deg2">listed the DEG2 at $239.90 on October 27, 2026</a>. The <a href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20">MINISFORUM DEG2 Amazon listing</a> was around $247. Treat both as dated price references, since prices can change.</p><p>One important caveat: the extra connectivity does not guarantee better local LLM decoding. On a 40Gbps host, the DEG2 still operates within the host&#8217;s connection capability. Its premium is easier to justify if you have Thunderbolt 5, expect to upgrade your computer, or intend to share one GPU between machines.</p><p>Buy it for that flexibility. Skip it if you already have OCuLink and need only an inexpensive GPU connection.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find MINISFORUM DEG2 deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20"><span>Find MINISFORUM DEG2 deals on Amazon</span></a></p><div><hr></div><div id="youtube2-3Jw7Y-bKOpQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3Jw7Y-bKOpQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3Jw7Y-bKOpQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h4><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>ADT-Link UT3G and UT4G</strong>: for hands-on USB4 builds</h4><p>The UT3G is useful because it exposes the basic ingredients of a USB4 eGPU without bundling them into an expensive enclosure. It uses the ASMedia ASM2464PDX controller and supports PCIe tunneling over a compatible 40Gbps USB4 or Thunderbolt connection.</p><p>ADT-Link&#8217;s <a href="https://www.adt.link/product/UT4G.html">UT4G-BK7 and UT4G-BK8 variants add mounting brackets</a>. They remain 40Gbps adapters, so the UT4G name does not mean an 80Gbps host connection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0DP4MB7N6?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p7Xu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!p7Xu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:331758,&quot;alt&quot;:&quot;ADT-Link UT4G-BK7 USB4 eGPU adapter on a desk, showing its metal base, vertical GPU bracket, and PCIe slot.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0DP4MB7N6?tag=popularai-20&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222489383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ADT-Link UT4G-BK7 USB4 eGPU adapter on a desk, showing its metal base, vertical GPU bracket, and PCIe slot." title="ADT-Link UT4G-BK7 USB4 eGPU adapter on a desk, showing its metal base, vertical GPU bracket, and PCIe slot." srcset="https://substackcdn.com/image/fetch/$s_!p7Xu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!p7Xu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed939e0f-3d6f-4c8e-88d1-82aa3a7f8ae7_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20">ADT-Link UT4G-BK7</a> AI-modified</figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find ADT-Link UT4G-BK7 deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20"><span>Find ADT-Link UT4G-BK7 deals on Amazon</span></a></p><p>Retail availability is inconsistent. Compare the total cost of any <a href="https://www.ebay.com/itm/257814572214">ADT-Link UT3G eBay offer</a> with the DEG2 before buying a bare adapter. We couldn&#8217;t verify a suitable current U.S. Amazon listing for the exact UT3G or UT4G variant. Check the offer&#8217;s condition, power-supply requirements, and return terms before paying.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EZuC!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!EZuC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:369724,&quot;alt&quot;:&quot;ADT-Link UT3G USB4 eGPU adapter on a workbench, showing its PCIe slot, heatsink, and GPU support posts.&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:&quot;https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.popularai.org/i/222489383?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="ADT-Link UT3G USB4 eGPU adapter on a workbench, showing its PCIe slot, heatsink, and GPU support posts." title="ADT-Link UT3G USB4 eGPU adapter on a workbench, showing its PCIe slot, heatsink, and GPU support posts." srcset="https://substackcdn.com/image/fetch/$s_!EZuC!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 424w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 848w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 1272w, https://substackcdn.com/image/fetch/$s_!EZuC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F577cd7c0-16f4-451c-a1a8-65916bad517e_1672x941.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption"><strong>Image:</strong> <a href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20">ADT-Link UT3G</a> <em>AI-modified</em></figcaption></figure></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20&quot;,&quot;text&quot;:&quot;Find ADT-Link UT3G deals on Amazon&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.amazon.com/dp/B0CNXNGYF9?tag=popularai-20"><span>Find ADT-Link UT3G deals on Amazon</span></a></p><p>These boards suit technically comfortable users who can handle PSU wiring, exposed components, and operating-system troubleshooting. A complete enclosure is a better choice when you need protection against accidental contact or frequent transport.</p><div><hr></div><h3>Which GPU should you connect?</h3><p>Choose the GPU capacity before the dock. Determine the VRAM requirement of the models you intend to run, including their KV cache and other memory overhead.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>A 16GB GPU</strong> can be enough for smaller quantized LLMs and many ComfyUI workflows. A 24GB card opens up larger model choices. A 32GB card offers more room for bigger models and longer contexts. Plan for <a href="https://www.popularai.org/p/local-llm-vram-requirements">model weights, KV cache, and context when estimating local LLM VRAM requirements</a>.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>An existing RTX 3090</strong> is a sensible eGPU candidate because it has 24GB of VRAM and established CUDA support. However, buying one specifically for an eGPU is no longer an automatic bargain. U.S. used-market observations include a <a href="https://www.ebay.com/itm/227545047559">completed RTX 3090 eBay sale at $1,325 on October 6, 2026</a>. A single sale does not establish the going rate, but it shows why the card&#8217;s reputation as a cheap 24GB option needs checking against actual offers. Check the actual cost against newer alternatives.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span><strong>Higher-capacity alternatives</strong> also deserve attention. The <a href="https://www.amd.com/en/products/graphics/workstations/radeon-ai-pro/ai-9000-series/amd-radeon-ai-pro-r9700.html">AMD Radeon AI PRO R9700 provides 32GB</a>, as does the <a href="https://www.intel.com/content/www/us/en/products/sku/245797/intel-arc-pro-b70-graphics/specifications.html">Intel Arc Pro B70</a>. NVIDIA&#8217;s newer consumer and professional cards span additional VRAM and performance tiers, including 32GB GeForce and higher-memory workstation models.</p><p>NVIDIA remains the easier default for users who rely on CUDA-specific packages and ComfyUI custom nodes. AMD&#8217;s ROCm and Intel&#8217;s oneAPI/SYCL paths are viable for selected workloads, but require more attention to software compatibility. Check <a href="https://github.com/ollama/ollama/blob/main/docs/gpu.mdx">Ollama&#8217;s supported GPUs and backend requirements</a> for the card and operating system you intend to use.</p><div id="youtube2-jb4X-U1Riw8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;jb4X-U1Riw8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/jb4X-U1Riw8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>A compact integrated eGPU such as the <a href="https://gpd-direct.jp/pages/gpd-g1">8GB GPD G1</a> may suit portable graphics work. It isn&#8217;t our choice for a buyer whose primary goal is substantially increasing local LLM capacity.</p><div><hr></div><h4><em><strong>More on VRAM for local AI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;052d2fdb-fe70-45e1-b541-6e1fe405e056&quot;,&quot;caption&quot;:&quot;For everyday local LLM use, 16GB of VRAM is a practical starting point. Move to 24GB for useful 27B&#8211;32B quantized models, or 32GB if you want more room for long documents and coding sessions. Running a 70B-class model comfortably often calls for 64GB o&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How much VRAM do you need for a local LLM? The 8GB-to-96GB guide&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-10-23T09:06:08.513Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!l5mp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c6f7452-f375-46e0-8bd6-ce6fe2fae018_1600x795.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-llm-vram-requirements&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:221752926,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>The hidden cost of an eGPU setup</h3><p>The advertised dock price is only part of the purchase. A low dock price helps most when you can reuse the GPU and power supply. If you need to buy both, compare the full setup with a desktop upgrade before deciding that the external route saves money.</p><p>An open eGPU dock needs a suitable power supply, the correct GPU power connectors, a compatible cable, and adequate clearance for the graphics card. High-power cards also create heat and noise outside the computer chassis.</p><p>Check the exact GPU&#8217;s length, thickness, connector placement, and power requirements. A power supply rated for the card&#8217;s sustained draw may still be unsuitable if it lacks the correct connectors or enough transient headroom.</p><p>The host computer needs scrutiny too. Firmware settings, BIOS support, PCIe resource allocation, IOMMU behavior, operating-system authorization, and driver compatibility can determine whether a theoretically compatible dock works reliably.</p><p>Windows and Linux are practical starting points for supported NVIDIA eGPU configurations. Apple&#8217;s <a href="https://support.apple.com/en-us/102363">conventional macOS eGPU support requires an Intel-based Mac</a>. There is now an experimental alternative: <a href="https://docs.tinygrad.org/tinygpu/">TinyGPU supports selected AMD and NVIDIA cards over USB4/Thunderbolt through the tinygrad software stack</a>. That doesn&#8217;t provide general, drop-in compatibility with every Ollama, CUDA, or ComfyUI workflow.</p><p>Don&#8217;t budget for a Mac eGPU as though it were an ordinary Windows CUDA setup.</p><div><hr></div><h3>How to compare eGPU benchmarks properly</h3><p>Any performance comparison should separate loading, prompt processing, generation, and image creation. A single tokens-per-second figure misses too much.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VRDq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VRDq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 424w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 848w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 1272w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!VRDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp" width="1456" height="1283" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1283,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Six eGPU benchmark measurements: cold loading, prompt processing, token generation, CPU offloading, ComfyUI generation, and stability, with the settings each test should record.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Six eGPU benchmark measurements: cold loading, prompt processing, token generation, CPU offloading, ComfyUI generation, and stability, with the settings each test should record." title="Six eGPU benchmark measurements: cold loading, prompt processing, token generation, CPU offloading, ComfyUI generation, and stability, with the settings each test should record." srcset="https://substackcdn.com/image/fetch/$s_!VRDq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 424w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 848w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 1272w, https://substackcdn.com/image/fetch/$s_!VRDq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F508bed3c-c6b3-4060-8774-0894529d275a_1600x1410.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">An eGPU benchmark needs loading, inference, image-generation, and stability measurements. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Measure cold model loading in seconds from an unloaded state to a ready model. Record prompt-processing tokens/s alongside prompt length, batch size, and context. Measure token-generation tokens/s with a stated output length and a warm model.</p><p>For CPU offloading, record layer placement, RAM/VRAM use, and throughput. For ComfyUI generation, compare seconds per image with the model, resolution, steps, sampler, and seed fixed. Stability testing should record GPU detection, reconnect behavior, crashes, and failed jobs.</p><p>A credible comparison also identifies the GPU, dock, host CPU, cable, operating system, drivers, software versions, quantization, and whether the model fits entirely in VRAM.</p><p>Without those details, &#8220;OCuLink is 20% faster&#8221; or &#8220;Thunderbolt barely loses performance&#8221; tells a buyer very little.</p><div><hr></div><h3>Should you buy an eGPU or build a separate AI computer?</h3><p>Buy an eGPU when you already have a capable laptop or mini PC, need one additional GPU, and expect to keep your usual LLM or image-generation workload in VRAM. The purchase is particularly attractive if you already own the GPU and a suitable power supply.</p><p>Build or upgrade a desktop when you&#8217;re buying the CPU, GPU, dock, power supply, and other components together. The external connection adds cost and another source of compatibility problems without necessarily saving enough money to justify it.</p><p>A desktop is also preferable for users planning two or more GPUs. With <a href="https://www.popularai.org/p/dual-rtx-3090-local-ai-2026">dual RTX 3090s for local AI</a>, account for power and software limitations as well as the combined VRAM capacity.</p><p>An older small desktop might need only a larger case, better power supply, or different motherboard to accommodate another card. Price those changes before committing to an elaborate external setup.</p><p>For occasional experimentation, renting a cloud GPU can be cheaper than buying an expensive card that spends most of its life idle. For regular private workflows, owned hardware becomes more attractive because it avoids recurring compute charges and dependence on a remote service.</p><div><hr></div><h4><em><strong>More on the RTX 3090 for local AI:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;79b2a15e-b85d-4d3b-9aae-bdf965bb58a9&quot;,&quot;caption&quot;:&quot;A dual RTX 3090 setup is still worth buying for local AI in 2026 if your main goal is running larger local LLMs and you can get the cards cheaply. The reason is simple: two RTX 3090 cards give you 48GB of total &#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Are dual RTX 3090s still worth buying for local AI in 2026?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-06-15T14:00:05.558Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!8zqD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffcaf2280-0e1f-4c68-bdcd-bb27aa19fb91_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/dual-rtx-3090-local-ai-2026&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:202106960,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><h3>Buy an eGPU for the computer you already own</h3><p>For a mini PC with OCuLink, an inexpensive dock such as the <a href="https://www.amazon.com/dp/B0DPGYKH7G?tag=popularai-20">MINISFORUM DEG1</a> is the sensible starting point. Pay extra for a <a href="https://www.amazon.com/dp/B0H41GSRB4?tag=popularai-20">MINISFORUM DEG2</a> when its USB4 v2/Thunderbolt 5 flexibility serves a computer you use or intend to buy. For a USB4 laptop, a supported external GPU can run local LLMs and ComfyUI effectively when the workload fits in VRAM.</p><p>The best reason to use an eGPU is to extend a computer you already own. The worst reason is to avoid building a desktop while spending almost as much money on a complicated external substitute.</p><p>If you&#8217;re chasing bigger models through constant CPU offloading or assembling a serious multi-GPU system, put the money toward more usable VRAM and a proper internal PCIe configuration instead.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/egpu-local-ai-usb4-thunderbolt-oculink/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p>]]></content:encoded></item><item><title><![CDATA[Anthropic's IPO reveals who will really control Claude]]></title><description><![CDATA[Anthropic&#8217;s proposed IPO gives founders 50.1% of general voting power while a trust picks most directors. See what that means for Claude users.]]></description><link>https://www.popularai.org/p/anthropic-ipo-voting-control-claude</link><guid isPermaLink="false">https://www.popularai.org/p/anthropic-ipo-voting-control-claude</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Wed, 28 Oct 2026 15:03:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fVxa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fVxa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fVxa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fVxa!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Conceptual image of public meeting chairs facing a closed glass boardroom, illustrating the separation of public ownership and governing power in Anthropic&#8217;s proposed IPO.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Conceptual image of public meeting chairs facing a closed glass boardroom, illustrating the separation of public ownership and governing power in Anthropic&#8217;s proposed IPO." title="Conceptual image of public meeting chairs facing a closed glass boardroom, illustrating the separation of public ownership and governing power in Anthropic&#8217;s proposed IPO." srcset="https://substackcdn.com/image/fetch/$s_!fVxa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 424w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 848w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 1272w, https://substackcdn.com/image/fetch/$s_!fVxa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb7fd6cd6-cb7b-4399-a681-91499d4ef40a_1600x900.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Anthropic&#8217;s proposed IPO separates public ownership from control over Claude. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>If you use Claude for writing, coding, research, or business, Anthropic&#8217;s IPO filing answers a question that sits behind every interaction: who controls the company setting Claude&#8217;s rules? The proposed structure gives its seven co-founders 50.1% of voting power on general shareholder matters through a single special share. A separate trust gets to elect most of the board. Public investors would be able to buy into Anthropic without gaining ordinary control over its direction.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/anthropic-ipo-voting-control-claude?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/anthropic-ipo-voting-control-claude?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The arrangement could protect long-term research from demands for faster financial returns. It also concentrates authority in a small group whose judgments on AI safety, access, and acceptable uses may shape Claude for years. Buying shares and paying for a subscription would leave those decisions largely in the same hands.</p><div><hr></div><h3>What Anthropic filed on October 26</h3><p>Anthropic <a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm">filed its preliminary S-1 registration statement on October 26, 2026</a>, proposing a Nasdaq listing under the ticker ANT. The filing describes a proposed offering. Its price, final share count, and timing were not settled in the initial prospectus, and the filing does not establish that the IPO is complete.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/2114705042817110293&quot;,&quot;full_text&quot;:&quot;Anthropic has filed an S-1 registration statement with the SEC related to its proposed IPO.\n\nRead more: <a class=\&quot;tweet-url\&quot; href=\&quot;https://www.anthropic.com/news/s1-sec\&quot;>anthropic.com/news/s1-sec</a>\n\nLegal disclaimer: A registration statement relating to these securities has been filed with the SEC but has not yet become effective. These securities&#8230;&quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2026-10-26T13:05:46.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:1273,&quot;retweet_count&quot;:2326,&quot;like_count&quot;:17861,&quot;impression_count&quot;:8154840,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://www.anthropic.com/news/s1-sec&quot;,&quot;title&quot;:&quot;Anthropic files S-1 with the SEC for proposed initial public offering&quot;,&quot;description&quot;:&quot;Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.&quot;,&quot;domain&quot;:&quot;anthropic.com&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2114705043555315712/CdumPkue?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>Anthropic is already a Delaware public benefit corporation. Its stated purpose is the responsible development and maintenance of advanced AI for humanity&#8217;s long-term benefit. The company says this structure requires directors to balance shareholders&#8217; financial interests, the interests of people affected by its actions, and that public purpose. The IPO would retain that status while adding a special founders&#8217; voting vehicle alongside the existing Long-Term Benefit Trust (LTBT).</p><p>Shareholder voting control and board-election control are split between two groups. Ordinary IPO buyers would not acquire either form of control. An individual founder would not personally hold all the powers described in the prospectus, either.</p><div><hr></div><h3>Anthropic&#8217;s five share classes, explained</h3><p>The <a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm">proposed capital structure separates economic ownership from voting rights</a>. Some shares carry a financial stake. Others exist chiefly to assign governing powers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!at7b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!at7b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 424w, https://substackcdn.com/image/fetch/$s_!at7b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 848w, https://substackcdn.com/image/fetch/$s_!at7b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 1272w, https://substackcdn.com/image/fetch/$s_!at7b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!at7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp" width="440" height="563.2" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1000,&quot;resizeWidth&quot;:440,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anthropic&#8217;s proposed Class A and N shares: eligible public holders receive one vote per A share and economic rights. Strategic partners primarily hold nonvoting N shares with economic rights, usually converting to A on an unaffiliated transfer.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Anthropic&#8217;s proposed Class A and N shares: eligible public holders receive one vote per A share and economic rights. Strategic partners primarily hold nonvoting N shares with economic rights, usually converting to A on an unaffiliated transfer." title="Anthropic&#8217;s proposed Class A and N shares: eligible public holders receive one vote per A share and economic rights. Strategic partners primarily hold nonvoting N shares with economic rights, usually converting to A on an unaffiliated transfer." srcset="https://substackcdn.com/image/fetch/$s_!at7b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 424w, https://substackcdn.com/image/fetch/$s_!at7b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 848w, https://substackcdn.com/image/fetch/$s_!at7b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 1272w, https://substackcdn.com/image/fetch/$s_!at7b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa16a27a1-78f0-4c4e-9465-acc7eb033582_1000x1280.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Anthropic IPO share classes A and N separate financial stakes from voting rights. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>Two shares stand out. The sole Class F share gives the Founder LLC a voting majority even if it owns far less than half of Anthropic&#8217;s economic value. Issuing additional Class A stock does not dilute that general-vote percentage while Class F remains in force. Selling more stock to the public would therefore not, by itself, erode the founders&#8217; majority.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kZiR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kZiR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 424w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 848w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 1272w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!kZiR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp" width="454" height="754.548" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1662,&quot;width&quot;:1000,&quot;resizeWidth&quot;:454,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Anthropic&#8217;s proposed special shares: the Long-Term Benefit Trust&#8217;s Class T elects and removes most authorized directors. Founder LLC&#8217;s Class F holds 50.1% of general voting power. Employee Class E votes on specified protections. All three lack meaningful economic participation.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Anthropic&#8217;s proposed special shares: the Long-Term Benefit Trust&#8217;s Class T elects and removes most authorized directors. Founder LLC&#8217;s Class F holds 50.1% of general voting power. Employee Class E votes on specified protections. All three lack meaningful economic participation." title="Anthropic&#8217;s proposed special shares: the Long-Term Benefit Trust&#8217;s Class T elects and removes most authorized directors. Founder LLC&#8217;s Class F holds 50.1% of general voting power. Employee Class E votes on specified protections. All three lack meaningful economic participation." srcset="https://substackcdn.com/image/fetch/$s_!kZiR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 424w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 848w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 1272w, https://substackcdn.com/image/fetch/$s_!kZiR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F376981ea-e268-4476-9280-591c6f4556c7_1000x1662.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">Anthropic&#8217;s Class T, F, and E shares assign distinct governing powers. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>The sole Class T share works differently. It lets the LTBT choose most directors, without carrying 50.1% of ordinary shareholder votes. Adding the two powers together as though they were percentages of the same vote would misrepresent the structure. One governs general shareholder decisions. The other reserves control over most board seats.</p><div><hr></div><h3>The control chain from shareholders to Claude</h3><p>The LTBT and Founder LLC would <a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm">collectively be able to elect every director</a>. The trust selects the majority. The founders&#8217; voting vehicle normally determines elections for the remaining seats and the outcome of general shareholder resolutions. The board oversees the company and supervises management. Executives and staff then decide how Claude is built, trained, deployed, priced, and moderated through the company&#8217;s decision-making processes.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/2044057406167232964&quot;,&quot;full_text&quot;:&quot;Our Long-Term Benefit Trust has appointed Vas Narasimhan to Anthropic's Board of Directors.\n\nVas brings more than two decades of experience in medicine and global health, including as CEO of Novartis.\n\nRead more: &quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2026-04-14T14:17:17.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:149,&quot;retweet_count&quot;:144,&quot;like_count&quot;:1634,&quot;impression_count&quot;:671951,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://www.anthropic.com/news/narasimhan-board&quot;,&quot;title&quot;:&quot;Vas Narasimhan appointed to Board of Directors&quot;,&quot;description&quot;:&quot;Anthropic's Long-Term Benefit Trust appoints Novartis CEO Vas Narasimhan to the board, giving Trust-appointed directors a majority.&quot;,&quot;domain&quot;:&quot;anthropic.com&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2103447675953934336/UvLp4Yrb?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>Trustees do not personally approve each Claude refusal, content-filter adjustment, or API restriction. The S-1 explicitly denies the trust and its trustees authority over day-to-day management or strategy setting. Their influence runs mainly through their choice of directors and the advice they provide. Following that chain avoids attributing a product decision to someone whose formal power is to help choose the people overseeing it.</p><p>The founders also act as a group. The Class F share belongs to an LLC whose initial members are Dario Amodei, Daniela Amodei, Tom Brown, Jack Clark, Jared Kaplan, Sam McCandlish, and Christopher Olah. If a majority of the continuing founders cannot agree on how to vote it, the filing generally provides for its votes to follow the Class A voting proportions, subject to quorum requirements. The 50.1% figure should not be mistaken for personal voting control by the CEO.</p><p>The trust is designed to have financially disinterested trustees. Anthropic says they <a href="https://www.anthropic.com/news/ben-bernanke">hold no equity, do not share in profits, and select new trustees in consultation with the company</a>. Those arrangements may reduce incentives to maximize the next quarter&#8217;s share price. Trustees still are not elected representatives of Claude users or the general public. Financial independence answers one accountability question, while leaving the question of whom they represent unresolved.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/2075257492716879967&quot;,&quot;full_text&quot;:&quot;Our Long-Term Benefit Trust has appointed Dr. Ben Bernanke as its newest member. \n\nRead more: &quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2026-07-09T16:35:17.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:185,&quot;retweet_count&quot;:138,&quot;like_count&quot;:1594,&quot;impression_count&quot;:537418,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://www.anthropic.com/news/ben-bernanke&quot;,&quot;title&quot;:&quot;Ben Bernanke joins the Long-Term Benefit Trust&quot;,&quot;description&quot;:&quot;Former Federal Reserve Chair Ben Bernanke has been appointed to Anthropic's Long-Term Benefit Trust, bringing expertise on AI's economic impacts.&quot;,&quot;domain&quot;:&quot;anthropic.com&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2108599700589072387/c7ATROJq?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>Can public shareholders change Anthropic&#8217;s AI policies?</h3><p>Usually, they could not force a change by winning a shareholder vote. Anthropic warns that <a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm">Class A holders generally cannot determine shareholder-vote outcomes or director elections</a>, regardless of how they vote, except in specified circumstances such as founder disagreement.</p><p>The structure deliberately protects against unwanted takeovers and investor campaigns to replace directors. It also removes an ordinary route for holding company leadership accountable. Public shareholders could sell, criticize management, exercise applicable legal rights, and influence the market&#8217;s willingness to finance Anthropic. They would not ordinarily be able to vote out the trust&#8217;s director slate. Owning stock would give them financial exposure without comparable governing power.</p><p>Anthropic expects to qualify as a <a href="https://www.reuters.com/technology/who-controls-powerful-ai-anthropic-has-plan-long-after-its-leaders-depart-2026-10-27/">Nasdaq controlled company and use an exemption allowing a nominating and governance committee that is not entirely independent</a>, as Reuters reported on October 27. That leaves another consequential choice about future directors closer to current leadership.</p><p>The founders&#8217; advantage has conditions. The <a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm">Class F sunset provisions start a 450-day transition after fewer than three qualifying continuing founders remain for 90 consecutive days</a>, with other termination provisions also applying. There is no fixed calendar expiration. The trust&#8217;s board-election role has separate amendment and termination conditions, so the end of Class F would not automatically end the trust&#8217;s authority.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>How corporate control reaches Claude&#8217;s restrictions</h3><p>Claude&#8217;s behavior already reflects company decisions made above the level of individual users. Anthropic&#8217;s October 8 Usage Policy update <a href="https://www.anthropic.com/news/2026-usage-policy-update">outlined revised rules for deceptive campaigns, surveillance, weapons-related applications, high-risk automated decisions, and abusive interactions</a> with Claude. The revision is scheduled to take effect on November 12, 2026.</p><p>The announcement also shows that restrictions can loosen. Anthropic said it removed a blanket prohibition on personalized campaign targeting while retaining bans on deceptive election activity and misuse of personal data. Neither Claude subscribers nor a public shareholder majority had to approve those changes. The company set the terms on which people could use its service.</p><p>Enforcement has practical consequences. Anthropic can <a href="https://www.anthropic.com/transparency/system-trust-reporting">warn, suspend, or terminate accounts over policy violations</a>. For January through June 2026, it reported 11.4 million banned accounts, 398,000 appeals, and 42,000 appeal overturns. Those figures document the scale of enforcement. They do not establish whether any individual decision was justified.</p><p>The IPO structure provides no evidence that trustees or founders directed a particular moderation decision. It shows where corporate authority is concentrated when users, employees, or shareholders dispute such decisions. A board chosen chiefly by the trust could defend legitimate safety limits against revenue pressure. Its insulation from ordinary shareholder votes could also make contested rules harder to change. The governing documents assign powers, but cannot tell us how their holders will exercise them.</p><p>Popular AI&#8217;s guide to <a href="https://www.popularai.org/p/llm-bias-censorship">LLM bias and AI censorship</a> explains how post-training and product policies affect what a hosted model says. Corporate control sits above those technical choices, determining who can oversee the people making them.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/2014005798691877083&quot;,&quot;full_text&quot;:&quot;We&#8217;re publishing a new constitution for Claude.\n\nThe constitution is a detailed description of our vision for Claude&#8217;s behavior and values. It&#8217;s written primarily for Claude, and used directly in our training process.\n&quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2026-01-21T16:02:55.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:508,&quot;retweet_count&quot;:944,&quot;like_count&quot;:7649,&quot;impression_count&quot;:3413235,&quot;expanded_url&quot;:{&quot;url&quot;:&quot;https://www.anthropic.com/news/claude-new-constitution&quot;,&quot;title&quot;:&quot;Claude's new constitution&quot;,&quot;description&quot;:&quot;A new approach to a foundational document that expresses and shapes who Claude is&quot;,&quot;domain&quot;:&quot;anthropic.com&quot;,&quot;image&quot;:&quot;https://pbs.substack.com/news_img/2112571114887286784/1mLOZ_Be?format=jpg&amp;name=orig&quot;},&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>Keep Claude useful without making it irreplaceable</h3><p>Nobody needs to abandon a productive Claude workflow because of a proposed IPO. Avoid making the vendor&#8217;s policy choices an irreplaceable dependency.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>Keep prompts, source documents, agent instructions, code, and finished outputs in formats you can access outside Claude. For software built around its API, isolate provider-specific calls so switching models does not require rebuilding the application. Read current usage rules before committing to high-risk or regulated deployments. Have a manual path when an account is paused or a requested capability is unavailable.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/AnthropicAI/status/1949898502688903593&quot;,&quot;full_text&quot;:&quot;We&#8217;re rolling out new weekly rate limits for Claude Pro and Max in late August. We estimate they&#8217;ll apply to less than 5% of subscribers based on current usage. &quot;,&quot;username&quot;:&quot;AnthropicAI&quot;,&quot;name&quot;:&quot;Anthropic&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1798110641414443008/XP8gyBaY_normal.jpg&quot;,&quot;date&quot;:&quot;2025-07-28T18:23:25.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/Gw9Z8P6XoAA87L8.png&quot;,&quot;link_url&quot;:&quot;https://t.co/X8FAss3jIC&quot;,&quot;alt_text&quot;:&quot;Abstract picture of shapes and lines on an orange background.&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:559,&quot;retweet_count&quot;:301,&quot;like_count&quot;:2841,&quot;impression_count&quot;:2332722,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>For confidential or politically sensitive work, consider a second hosted model or a local fallback. Popular AI&#8217;s <a href="https://www.popularai.org/p/local-ai">local AI guide</a> covers the tradeoff: local models can reduce exposure to centralized account and inference controls, but bring hardware costs, setup work, model limitations, and maintenance responsibilities. A fallback should preserve access to the work you need, rather than simply add another tool to the same vulnerable workflow.</p><p>Under the proposed IPO structure, the founders would control general shareholder votes, the benefit trust would choose most directors, and management would operate Claude. Public ownership would leave that chain of authority largely intact. Keep using Claude where it earns its place, and keep your work portable enough to continue if the people controlling it change the rules.</p><div><hr></div><h4><em><strong>More on this subject:</strong></em></h4><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;793c1ec5-bc8a-429f-b0ea-eede46bf7538&quot;,&quot;caption&quot;:&quot;Large language models do not simply absorb information and hand back neutral truth. Their answers are shaped by training data, post-training, human feedback, system instructions, safety rules, product&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How LLM bias and AI censorship shape what models say&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:362090995,&quot;name&quot;:&quot;Popular AI&quot;,&quot;bio&quot;:&quot;Popular AI provides independent analysis on local AI setups, hardware builds, and unconstrained models. Gain practical AI capability without permission.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d33e76e-6901-474e-b732-a93e6bca8acd_514x514.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-08-08T20:48:43.839Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!a_MW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23053abd-359a-4172-88f5-a2a0bc6dd493_1672x941.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/llm-bias-censorship&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210391673,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:1,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bb8dd208-fb43-4dc4-a887-e59fb6590dd2&quot;,&quot;caption&quot;:&quot;Learn how to run local AI, choose open-weight models, protect private data, compare APIs, and build workflows that survive vendor changes.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Local AI: models, privacy, hardware and APIs&quot;,&quot;publishedBylines&quot;:[],&quot;post_date&quot;:&quot;2026-08-08T14:05:14.072Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qJdy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe632a9fb-706b-4a1a-8ecc-2798c612acc5_1672x756.png&quot;,&quot;cover_image_alt&quot;:null,&quot;cover_image_crop&quot;:null,&quot;canonical_url&quot;:&quot;https://www.popularai.org/p/local-ai&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:210347707,&quot;type&quot;:&quot;page&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:5553661,&quot;publication_name&quot;:&quot;Popular AI | Independent local AI &amp; hardware analysis&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ea4m!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0dc4955-a9ab-44cd-b158-63f55cabea52_514x514.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/anthropic-ipo-voting-control-claude/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/anthropic-ipo-voting-control-claude/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item><item><title><![CDATA[Did OpenAI just break a fundamental rule of computer science? What its AI proofs actually show]]></title><description><![CDATA[OpenAI says its AI disproved the Exponential Time Hypothesis. See what the Lean formalization covers and why independent review is still pending.]]></description><link>https://www.popularai.org/p/openai-exponential-time-hypothesis-proof</link><guid isPermaLink="false">https://www.popularai.org/p/openai-exponential-time-hypothesis-proof</guid><dc:creator><![CDATA[Popular AI]]></dc:creator><pubDate>Tue, 27 Oct 2026 21:49:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!a_3U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!a_3U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!a_3U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!a_3U!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp" width="1200" height="675" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:1200,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Conceptual image of a hand checking mathematical proof pages beside a branching Boolean decision tree, illustrating scrutiny of OpenAI&#8217;s ETH claim.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="Conceptual image of a hand checking mathematical proof pages beside a branching Boolean decision tree, illustrating scrutiny of OpenAI&#8217;s ETH claim." title="Conceptual image of a hand checking mathematical proof pages beside a branching Boolean decision tree, illustrating scrutiny of OpenAI&#8217;s ETH claim." srcset="https://substackcdn.com/image/fetch/$s_!a_3U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 424w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 848w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 1272w, https://substackcdn.com/image/fetch/$s_!a_3U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c531e0a-5139-42c4-b5c9-e0b75fa82084_1664x936.webp 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">OpenAI&#8217;s ETH proof claim puts independent mathematical scrutiny in focus. <em>AI-modified</em> &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>OpenAI says an internal AI system has disproved the Exponential Time Hypothesis (ETH), a conjecture that underpins many claims about which computing problems are too hard to solve quickly. If the result survives review, it would force researchers to revisit some of those limits. It would not establish that P equals NP or give us a practical shortcut for every difficult problem.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/openai-exponential-time-hypothesis-proof?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/openai-exponential-time-hypothesis-proof?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>The company <a href="https://openai.com/index/building-scientific-understanding-with-academic-communities/">announced the claimed ETH refutation on October 26, 2026</a>, alongside results in mathematics and quantum physics. Its ETH manuscript and Lean formalization are public. Independent examination is still underway.</p><p>ETH is a conjecture, not a fundamental law of computer science. And even a machine-checked proof needs people to check what its formal statement actually means. The published materials make that question unusually concrete.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/danintheory/status/2114833682469122314&quot;,&quot;full_text&quot;:&quot;We are announcing three new discoveries in mathematics, computer science, and physics about harmonic analysis, complexity theory, and quantum field theory.\n\n<a class=\&quot;tweet-url\&quot; href=\&quot;https://openai.com/index/building-scientific-understanding-with-academic-communities/\&quot;>openai.com/index/building&#8230;</a>&quot;,&quot;username&quot;:&quot;danintheory&quot;,&quot;name&quot;:&quot;Dan Roberts&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/450003768709353472/Nod6R8y0_normal.jpeg&quot;,&quot;date&quot;:&quot;2026-10-26T21:36:56.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:263,&quot;retweet_count&quot;:921,&quot;like_count&quot;:5990,&quot;impression_count&quot;:1552372,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>What disproving the Exponential Time Hypothesis would mean</h3><p>Imagine a puzzle with 100 yes-or-no switches. A brute-force search might try as many as 2<sup>100</sup> combinations. Many computational problems contain the same combinatorial explosion: adding a few variables can multiply the search space.</p><p>ETH concerns 3-SAT, a problem involving Boolean formulas with up to three literals per clause. Roughly, it says no algorithm can solve every instance with <em>n</em> variables in subexponential time, written 2<sup>o(n)</sup>. Researchers use that assumption to derive conditional limits for other problems. If ETH falls, those ETH-dependent conclusions need reconsideration. The underlying problems would not automatically become easy.</p><p>OpenAI&#8217;s <a href="https://github.com/openai/math/blob/main/preprints/The-Exponential-Time-Hypothesis-is-False-October-25-2026/paper.pdf">October 25 manuscript claims a deterministic, subexponential-time algorithm</a> that counts every satisfying assignment of a fixed-width Boolean formula while using polynomial space. Counting solutions also answers whether any solution exists. If the algorithm and its claimed bound are correct, applying it to 3-SAT would refute ETH.</p><p>The qualifier is <em>subexponential</em>. An algorithm can beat 2<sup>cn</sup> asymptotically and still be vastly slower than any useful program on real inputs. OpenAI has not demonstrated a practical replacement for industrial SAT solvers. A theoretical improvement in growth rate is not a benchmark showing that today&#8217;s workloads run faster.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"><a href="https://popularai.org">Popular AI</a> is reader-supported. To receive new posts and support our work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><h3>Does OpenAI&#8217;s ETH claim mean P equals NP?</h3><p>No. P versus NP asks whether problems whose solutions can be checked efficiently can also be solved in polynomial time. The proposed algorithm offers a weaker guarantee: subexponential time.</p><p>For example, 2<sup>&#8730;n</sup> is subexponential but grows faster than every fixed polynomial. Calling both kinds of algorithm &#8220;faster than brute force&#8221; hides an enormous difference in what they promise.</p><p>A correct ETH refutation would be a major theoretical result without settling P versus NP, automatically defeating modern encryption, or making hard scheduling and optimization tasks suddenly tractable. Those outcomes would require additional arguments. They do not follow from the claim OpenAI has published.</p><div id="youtube2-ph_PIF-Ry8A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ph_PIF-Ry8A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ph_PIF-Ry8A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>What the Lean formalization actually checks</h3><p>Lean is a proof assistant that checks whether a formal proof follows from precisely stated definitions and accepted logical rules. That provides substantially stronger evidence than an AI confidently writing &#8220;therefore, proved.&#8221;</p><p>But Lean&#8217;s <a href="https://lean-lang.org/doc/reference/latest/ValidatingProofs/">proof-validation guidance separates a valid proof from the meaning of its theorem statement</a>. The formal theorem must capture the intended mathematical problem. Its axioms and imported dependencies also need scrutiny.</p><p>OpenAI&#8217;s <a href="https://github.com/openai/math/blob/main/lean/docs/378.md">ETH formalization covers exact counting for canonically encoded, fixed-width formulas</a>. The stated runtime is a polynomial factor in input length multiplied by 2 raised to O(n(log log n)<sup>2</sup>/&#8730;log n). The development also bounds the tape space used by the machine by a polynomial in input length.</p><p>The October 25 manuscript gives a sharper exponent with one log log n factor, rather than its square. Both exponents are sublinear in n, so either would contradict ETH if the definitions and deductions hold. The public Lean scope note does not claim to verify the manuscript&#8217;s sharper running-time estimate.</p><p>Reviewers therefore need to establish whether the formal statement faithfully captures ordinary 3-SAT, whether the runtime and machine definitions express the claimed computational bound, and whether independent checkers can reproduce the proof without problematic assumptions. Checking the derivation and interpreting the definitions are separate jobs.</p><p>The published scope documentation and source statements have been inspected for this article. The Lean development has not been independently rebuilt or certified here.</p><div id="youtube2-7yeTcqxZpH4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7yeTcqxZpH4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7yeTcqxZpH4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>Three AI proof claims at different verification stages</h3><p>The geometry claim deserves attention on its own. OpenAI says a new auxiliary partial differential equation supplies local-smoothing estimates that lead to results about Kakeya sets, which contain a unit-length line segment in every direction.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jm7n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jm7n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 424w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 848w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 1272w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!jm7n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp" width="558" height="324.57" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:698,&quot;width&quot;:1200,&quot;resizeWidth&quot;:558,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claim: ETH is false. Available evidence: Public manuscript and Lean scope documentation for a subexponential exact-counting algorithm. What remains unsettled: Independent proof reconstruction, interpretation of the definitions, and the manuscript's sharper bound.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Claim: ETH is false. Available evidence: Public manuscript and Lean scope documentation for a subexponential exact-counting algorithm. What remains unsettled: Independent proof reconstruction, interpretation of the definitions, and the manuscript's sharper bound." title="Claim: ETH is false. Available evidence: Public manuscript and Lean scope documentation for a subexponential exact-counting algorithm. What remains unsettled: Independent proof reconstruction, interpretation of the definitions, and the manuscript's sharper bound." srcset="https://substackcdn.com/image/fetch/$s_!jm7n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 424w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 848w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 1272w, https://substackcdn.com/image/fetch/$s_!jm7n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff480c26e-9787-43c2-83bf-69e094900fa7_1200x698.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">OpenAI&#8217;s ETH claim: Public evidence and unresolved verification questions. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>The <a href="https://github.com/openai/math/blob/main/lean/docs/079.md">geometry formalization includes full Hausdorff dimension for Kakeya sets</a>. Full dimension is not the same assertion as positive volume. Describing the result simply as a proof about how much space these sets occupy can blur the actual mathematical claim.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I8vF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I8vF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 424w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 848w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 1272w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!I8vF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp" width="548" height="369.9" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:810,&quot;width&quot;:1200,&quot;resizeWidth&quot;:548,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claim: Local smoothing, Kakeya and restriction results. Available evidence: Public model output and Lean scope documentation covering Euclidean waves in dimensions two and above, with Kakeya dimension estimates. What remains unsettled: Independent scrutiny and accessible explanations of the new argument.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Claim: Local smoothing, Kakeya and restriction results. Available evidence: Public model output and Lean scope documentation covering Euclidean waves in dimensions two and above, with Kakeya dimension estimates. What remains unsettled: Independent scrutiny and accessible explanations of the new argument." title="Claim: Local smoothing, Kakeya and restriction results. Available evidence: Public model output and Lean scope documentation covering Euclidean waves in dimensions two and above, with Kakeya dimension estimates. What remains unsettled: Independent scrutiny and accessible explanations of the new argument." srcset="https://substackcdn.com/image/fetch/$s_!I8vF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 424w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 848w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 1272w, https://substackcdn.com/image/fetch/$s_!I8vF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd8cd0ccc-f5d2-4279-a7e7-e8582528bf06_1200x810.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">OpenAI&#8217;s local-smoothing and Kakeya claims await independent scrutiny. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>The physics announcement needs more restraint. OpenAI claims rigorous existence results for theories including quantum chromodynamics, but the outside group led by David Gross has chosen to prepare its own presentation before releasing the materials. Readers cannot yet examine the physics artifacts as they can the public ETH materials.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rIiR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rIiR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 424w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 848w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 1272w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 1456w" sizes="auto, 100vw"><img src="https://substackcdn.com/image/fetch/$s_!rIiR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp" width="568" height="357.84" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df732072-b031-4075-84b5-16aced64400c_1200x756.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:756,&quot;width&quot;:1200,&quot;resizeWidth&quot;:568,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Claim: Existence of certain four-dimensional quantum field theories. Available evidence: OpenAI's account of an internally formalized Yang&#8211;Mills existence claim. What remains unsettled: Full artifacts are withheld for now, preventing comparable public examination.&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&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="Claim: Existence of certain four-dimensional quantum field theories. Available evidence: OpenAI's account of an internally formalized Yang&#8211;Mills existence claim. What remains unsettled: Full artifacts are withheld for now, preventing comparable public examination." title="Claim: Existence of certain four-dimensional quantum field theories. Available evidence: OpenAI's account of an internally formalized Yang&#8211;Mills existence claim. What remains unsettled: Full artifacts are withheld for now, preventing comparable public examination." srcset="https://substackcdn.com/image/fetch/$s_!rIiR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 424w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 848w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 1272w, https://substackcdn.com/image/fetch/$s_!rIiR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf732072-b031-4075-84b5-16aced64400c_1200x756.webp 1456w" sizes="auto, 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 buttonBase-GK1x3M"><svg aria-hidden="true" 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" class="icon-noB79L"><g><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 buttonBase-GK1x3M"><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 icon-noB79L"><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><figcaption class="image-caption">OpenAI&#8217;s quantum field theory claim has fewer public artifacts to examine. &#169; <a href="https://popularai.org/">Popular AI</a></figcaption></figure></div><p>The <a href="https://www.claymath.org/millennium/yang-mills-the-maths-gap/">Yang&#8211;Mills Millennium Prize problem requires existence and a mass gap</a>. OpenAI has not claimed to settle that full problem. An existence result alone would leave the mass-gap requirement unresolved.</p><div><hr></div><h3>Who is checking OpenAI&#8217;s ETH result?</h3><p>OpenAI says its model produced the ETH argument on October 16 and formalized it in Lean on October 17. It obtained the local-smoothing argument on October 18 and formalized that on October 19. The October 26 announcement set out how the public review would proceed.</p><p>Russell Impagliazzo and Ramamohan Paturi, who helped originate ETH, and MIT&#8217;s Ryan Williams are organizing the examination of the computer-science claim.</p><p>Their involvement is not an endorsement. The group <a href="https://thenextweb.com/news/openai-exponential-time-hypothesis-false-kakeya-yang-mills">requested public access to the raw materials and freedom to scrutinize them without nondisclosure agreements or compensation</a>. A reviewer agreeing to examine a proof has not thereby certified it.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/rrwilliams/status/2114833319431209352&quot;,&quot;full_text&quot;:&quot;An internal model at OpenAI has produced a claimed refutation of ETH! Russell Impagliazzo, Mohan Paturi, and I have been asked to help organize an open and independent examination of this claim. 1/4&quot;,&quot;username&quot;:&quot;rrwilliams&quot;,&quot;name&quot;:&quot;Ryan Williams @rrwilliams.bsky.social&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1587257679726133248/En7AKJHO_normal.jpg&quot;,&quot;date&quot;:&quot;2026-10-26T21:35:29.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:205,&quot;retweet_count&quot;:523,&quot;like_count&quot;:5143,&quot;impression_count&quot;:2026713,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>On October 27, Anthropic published a <a href="https://github.com/anthropics/formal-math/blob/main/eth/README.md">separate Claude-generated ETH refutation claim</a>, describing a different approach based on tensor networks and its own Lean checking procedure.</p><p>Two public claims give specialists more to compare. They do not amount to two independently accepted theorems. Each argument still needs examination on its own terms.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/__alpoge__/status/2114930095009968506&quot;,&quot;full_text&quot;:&quot;&#8220;The core algorithm was found on October 16 by an internal Claude research model with 14M output tokens and no human input. Anthropic researchers worked with Claude to improve the presentation, resulting in this paper.&#8221;\n\n<a class=\&quot;tweet-url\&quot; href=\&quot;https://github.com/anthropics/formal-math/tree/16a5ce41304fcdaea4e0be7c132e1c361dc26da5/eth\&quot;>github.com/anthropics/for&#8230;</a>&quot;,&quot;username&quot;:&quot;__alpoge__&quot;,&quot;name&quot;:&quot;levent&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1824948681877155840/VqVHY3gF_normal.jpg&quot;,&quot;date&quot;:&quot;2026-10-27T04:00:02.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:90,&quot;retweet_count&quot;:110,&quot;like_count&quot;:2025,&quot;impression_count&quot;:418529,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><div><hr></div><h3>What would establish that ETH has fallen?</h3><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If the proof survives scrutiny, ETH-dependent research will need its assumptions revisited, and AI-assisted theorem discovery will have passed an extraordinary test.</p><p><span data-color="#00c89a" style="color: rgb(0, 200, 154);">&#9642; </span>If it fails, the failure could expose a gap between a polished formal statement and the mathematical problem it was supposed to settle. The location of that gap would help explain what the machine checking did and did not establish.</p><p>As of October 27, 2026, OpenAI has published a claimed subexponential algorithm and a corresponding Lean formalization. Independent mathematical acceptance remains pending.</p><p>Watch for reproducible checks of the precise theorem, human explanations of the algorithm, and explicit agreement about its consequences. A famous conjecture falls when the argument holds up. The announcement starts that examination.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.popularai.org/p/openai-exponential-time-hypothesis-proof/comments&quot;,&quot;text&quot;:&quot;Leave a comment&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.popularai.org/p/openai-exponential-time-hypothesis-proof/comments"><span>Leave a comment</span></a></p><div><hr></div><p style="text-align: center;"><em><strong>Explore more from Popular AI:</strong></em></p><p style="text-align: center;"><strong><a href="https://popularai.org/p/start-here">Start here</a> | <a href="https://popularai.org/p/local-ai">Local AI</a> | <a href="https://www.popularai.org/p/ai-hardware-builds">Builds &amp; gear</a> | <a href="https://www.popularai.org/p/ai-autonomy-policy">Autonomy &amp; policy</a> | <a href="https://popularai.org/t/walkthroughs">Fixes &amp; guides</a> | <a href="https://popularai.org/podcast">Popular AI podcast</a></strong></p><p></p>]]></content:encoded></item></channel></rss>