❌

Normal view

Meta lança Muse Code, agente de programação alimentado pelo novo modelo Muse Spark 1.2

5 August 2026 at 22:16

A Meta lançou hoje o Muse Code, seu primeiro agente de programação — o qual rivalizará com soluções como o Claude Code (da Anthropic) e o Codex (da OpenAI).

A nova ferramenta, assim como os assistentes supracitados, facilita a criação de aplicativos em uma única interface, permitindo gerenciar conjuntos de agentes digitais impulsionados por IA que auxiliam no processo de desenvolvimento de software.

Releasing Muse Code in beta today. It's a terminal coding agent that takes on complete software engineering tasks across large repos: planning changes, writing code, validating the results. Powered by Muse Spark 1.2, a coding-focused model update. pic.twitter.com/xqavk41w6v

— Mark Zuckerberg (@finkd) August 5, 2026
Estamos lançando o Muse Code em versão beta hoje. Trata-se de um agente de programação via Terminal capaz de executar tarefas completas de engenharia de software em grandes repositórios: planejar alterações, escrever código e validar resultados. Ele conta com a tecnologia do Muse Spark 1.2, uma atualização de modelo focada em programação.

Ainda que disponível inicialmente em beta, o Muse Code pode ser usado para realizar uma ampla variedade de tarefas, planejando alterações, escrevendo código e validando os resultados. Desenvolvedores podem utilizá-lo por meio de uma modalidade de pagamento conforme o uso (pay-as-you-go).

Ao contrário do Codex e do Claude Code, atualmente não existe um aplicativo dedicado para o Muse Code. Desse modo, ele pode ser instalado no macOS e no Linux a partir de um comando de uma única linha:

curl -fsSL https://dev.meta.ai/install.sh | bash

Ele também opera em conjunto com o mais novo modelo de IA da empresa, o Muse Spark 1.2 — o qual foi desenvolvido e treinado juntamente com o novo agente de programação, o que melhora o desempenho geral.

O Muse Spark 1.2 é uma atualização do Muse Spark 1.1, lançado no mês passado, trazendo melhorias na geração de código, depuração de cenários complexos, compreensão da base de código e fluxos de trabalho de ponta a ponta para desenvolvedores. O novo modelo também amplia significativamente o poder computacional de treinamento para tarefas de programação.

Muse Spark 1.2 has improved coding capabilities compared to its predecessor. We significantly scaled up training compute on coding tasks while expanding training environment diversity, delivering improvements in code generation, complex debugging, and end-to-end developer… pic.twitter.com/0cTSBe4paj

— AI at Meta (@AIatMeta) August 5, 2026

O Muse Spark 1.2 apresenta recursos de programação aprimorados em comparação com sua versão anterior. Aumentamos significativamente a capacidade computacional de treinamento em tarefas de programação, ao mesmo tempo que expandimos a diversidade de ambientes de treinamento, proporcionando melhorias na geração de código, depuração complexa e fluxos de trabalho de desenvolvimento de ponta a ponta.

O modelo foi treinado com o Muse Code para otimizar o desempenho quando utilizados em conjunto, com foco em tarefas como geração de repositórios completos, projetos de grande porte e pesquisa automatizada.

O Muse Spark 1.2 já está disponível no Muse Code e na Meta Model API.

Como gerar um código QR para uma página no Mozilla Firefox pelo Mac

1 August 2026 at 19:00

Além de compartilhar uma página da web usando um link normal, o navegador Mozilla Firefox também permite enviar um endereço da web de outra forma.

Mais precisamente, trata-se da geração de um código QR (QR code) — que pode, posteriormente, ser lido a partir de qualquer câmera ou compartilhado em uma postagem, por exemplo.

Veja como fazer isso no seu Mac! 👨‍💻

  1. Com o Firefox aberto no seu computador, siga um dos seguintes procedimentos:
    • Clique com o botão direito em cima da aba;
    • Vá até “Arquivo”, na barra de menus;
  1. Selecione “Compartilhar” e “Gerar código QR…”.
  1. Clique em “Salvar” para fazer o download do código ou em “Copiar” para que ele seja copiado para a área de transferência.

Visual Studio Code 1.131 zeroes in on subagents

30 July 2026 at 01:49

Microsoft has shipped Visual Code 1.131, an update to its code editor with improvements for monitoring subagents, dictation, and Markdown editing.

Released July 29, Visual Studio Code 1.131 can be downloaded for Windows, Linux, or Mac at code.visualstudio.com.

An enhancement to the Agents window in VS Code 1.131 allows developers to see what a running subagent is doing without opening its conversation. For each subagent, the main conversation now shows the model used by the subagent, how long the subagent has been running, and the tool the subagent is actively calling.

A preview of built-in dictation across VS Code gives developers dictation capabilities without having to install the VS Code Speech extension. The transcription service works in chat inputs, text editors, and the terminal, Microsoft said. A single speech session and microphone selection are shared across all three surfaces, which prevents overlapping recordings and keeps dictated text in the intended location, according to the company. This is an experimental feature.

VS Code 1.131 also introduces a hybrid Markdown editor in the Agents window, allow users to view Markdown files, edit them in place, and add comments that an agent can act on. By using “Reopen editor with”, developers can switch easily between the text editor and the new Markdown editor, both in the Agents window and editor windows. The hybrid Markdown editor is an experimental feature.

For accessibility, screen reader users now can read terminal output at their own pace while commands continue to produce output. Set terminal.integrated.accessibleViewPreserveCursorPosition to always preserve the cursor position in the terminal Accessible View, including when new content arrives. Existing true and false values continue to work. Terminal live updates also use a non-interrupting ARIA status announcement instead of an assertive alert. Output remains available to screen readers without repeatedly interrupting other speech.

VS Code 1.131 followed VS Code 1.130 by one week. VS Code 1.132 should arrive soon.

Visual Studio Code 1.130 dresses up Agents window

24 July 2026 at 02:11

Microsoft has released Visual Studio Code 1.130, an update to the code editor that brings several improvements to the Agents window, along with enhancements to the agent host and the terminal.

VS Code 1.130 was released on July 22, one week after VS Code 1.129. Developers can access the release for Windows, Linux, or Mac from code.visualstudio.com.

With the new release, the Agents window gets updates that make it easier to review changes and manage chats. File-level diff statistics help users assess the size of each file’s changes when scanning a multi-file diff. The window also gets a more compact multi-file diff that makes it easier to review changes, Microsoft said. The Agents window is a dedicated window in VS Code that lets users run and track multiple agent sessions in parallel across their projects, without opening each workspace in a separate window.

Also with VS Code 1.130, assisted permissions for agent tool calls are available in the agent host. With assisted permissions, the LLM evaluates the risk of each tool call and decides whether the tool can run or should require the user’s approval. The setting to enable assisted permissions is chat.assistedPermissions.enabled. In another agent host improvement, quick chats running on the agent host now use compact, single-line rows in the sessions list. Regular sessions retain a second line with change statistics, status, and timestamps.

VS Code users now can open file links from Git diff output in the terminal when Git’s diff.mnemonicPrefix option is enabled. VS Code recognizes prefixes such as i/ for the index and w/ for the working tree, and removes the prefix from the link target so the correct file opens. When mnemonic prefixes are enabled, VS Code also recognizes the numeric prefixes produced by git diff --no-index.

Timestamps for chat requests and responses now are displayed when users hover over the message toolbar. You can disable this through the chat.verbose setting.

Running Simulators Inside Claude Code for Mac

22 July 2026 at 15:41
Claude Code has a new simulator button.

Claude Code has a new simulator button.

Claude Code’s Mac desktop app has added Apple simulator support, and although it’s billed as “iOS Simulator Support,” it actually works with any iOS, iPadOS, visionOS, or watchOS simulator you have installed.

The process of setting up a simulator is simple. A new button with an iPhone icon appears when you open an existing project. Click it and a new iPhone simulator pane opens to the right by default. However, clicking on the name of the simulator reveals a list of every available simulator. You can also run multiple simulators at once, but that immediately made my aging M1 Max Mac Studio start to chug a little.

With access to your running app, Claude Code is more effective at debugging UI bugs.

With access to your running app, Claude Code is more effective at debugging UI bugs.

Once you have the simulators that you want open, simply ask Claude Code to run and test your app, and it gets to work, building the app, installing it in the simulator, opening it, and poking around. I loaded up a simple word game I’ve been playing with, and after a few minutes, Claude Code found a UI bug while controlling the simulator. I asked it to fix the issue, which it did, then tested and committed. My testing has been limited, but so far it looks like a simple, effective loop.

It’s also worth noting that Claude Code is running the simulator directly inside the Claude app. This is not computer use, meaning windows aren’t going to be opening and getting in your way as you work on something else. All in all, the addition of the simulator, like the inclusion of an in-app sandboxed browser a couple of weeks ago, is a great update to Claude Code.

Visual Studio Code 1.129 introduces dedicated agent host

22 July 2026 at 00:13

Microsoft has released Visual Studio Code 1.129, an update to its free, popular code editor that features a dedicated agent host and an editor panel in the Agents window. The updated editor also allows users to run terminal commands from chat prompts with a !prefix and offers a preview of a modern UI for the workbench.

Released July 15, VS Code 1.129 can be downloaded from code.visualstudio.com for Windows, Linux, and Mac.

Microsoft is rearchitecting how agent sessions work in VS Code around the agent host — a dedicated process that runs agent harnesses such as Claude, Copilot, and Codex, based on the Agent Host Protocol (AHP). Since a session lives in its own process, the same session can be connected to and rendered from multiple VS Code windows at once. The agent host’s Copilot agent is powered by the Copilot SDK, which means that its behavior and functionality is aligned with the Copilot CLI, the standalone GitHub Copilot app, and other Copilot products. The agent host is being rolled out to users in the editor window and the Agents window. It’s enabled through the chat.agentHost.enabled setting.

The Agents window shows conversation with an agent next to a detail area for the files and changes it produces. This release introduces a redesigned editor panel that brings the editor and the detail area together into one docked pane with a shared tab bar, so reviewing an agent’s work feels like working in the main editor instead of switching between separate panels.

Other new features and improvements in VS Code 1.129:

  • Users now can prefix chat messages with a ! to run their contents as terminal commands. This works in agent host sessions, both in the editor and in the Agents window.
  • Developers can now use Bring Your Own Key (BYOK) models in the Agents window when selecting the Copilot harness running on the agent host.
  • Developers can preview a modernized VS Code UI that updates the look and feel of the editor workbench. This is currently an experimental feature that can be enabled with the workbench.experimental.modernUI setting.

VS Code 1.129 follows Visual Studio Code 1.128, released July 13. An update, VS Code 1.129.1, fixes three bugs including remote agent hosts failing to start.

SpamSieve 3.3.1

15 July 2026 at 19:53

SpamSieve 3.3.1 is an update of my Mac e-mail spam filter that improves the filtering accuracy and includes various optimizations, fixes, and updates for macOS 27. Some interesting engineering issues were:

  • I’m still supporting macOS 10.13, but the app can now build with the macOS 12 deployment target in preparation for Xcode 27. The way Swift handles calling deprecated APIs remains annoying. You need workarounds like protocols to suppress a warning in a particular region of code. Often, I am updating to a newer API, but I want to continue using the old one on earlier versions of macOS. Right now I am heavily testing on macOS 26, so I would like to only deploy the new code there. Sometimes the initial versions of APIs are buggy, and I don’t want to have to retest every feature on every version. But Swift doesn’t like me to gate the calls to macOS 26 and later if the new API was actually introduced in, say, macOS 11.

  • The most risky update was probably switching to the Swift API for Scanner. This is tricky because the current scan position changes from being based on UTF-16 indexes to String.Index. And in some cases my code was intentionally scanning into the middle of a combining character. I was really glad to have extensive tests here.

  • Recent versions of Tahoe introduced a Core Data bug that broke save recovery (when invalid Unicode can’t be written to the database and we have to fix it up first). When the error comes in, SpamSieve looks under the NSDetailedErrorsKey key, but the value of this key is "NSDetailedErrorsKey" while the actual error info is under the key "NSDetailedErrors".

  • Database corruption combined with a Core Data bug and two Swift behaviors were causing crashes. The root problem, I think, is that in this situation Core Data neglects to set the error pointer for -[NSManagedObjectContext countForFetchRequest:error:]. Normally, Swift would detect this and throw a generic nilError. However, this method signals errors by returning NSNotFound instead of nil. It’s annotated as swift_error(nonnull_error), which I think means that Swift doesn’t even look at the return value, only the (unset) error. So my code was receiving NSNotFound on the non-error path, treating it as a real count, and doing some math with it, which (by default in Swift) leads to a crash if there’s overflow. Now my code checks for NSNotFound and uses Int.addingReportingOverflow().

  • I reimplemented Core Data batch fetching because of two problems with the fetchBatchSize option. First, it logs spurious errors when fetching from multiple stores at once. Second, it leads to high memory use. It will load objects in batches, but it never releases the earlier batches. You can manually refault objects that you no longer need, but it will still hold onto the full object shells, which can add up. My implementation only holds onto IDs, and it can fetch the IDs using a different context than the objects to push more work to background threads.

  • I’m now using String.makeContiguousUTF8() in various places to avoid slow iteration of bridged strings.

  • There was a regression where some menu code could crash on macOS 10.13. -[NSMenu setItemArray:] is only available on macOS 10.14 and later, whereas the getter is always available. With old Objective-C, the two methods could be annotated with separate availabilities. The Objective-C property syntax doesn’t allow this, so there’s no way for the compiler to flag calls where the setter is missing.

  • The AppleScript support works much better with large data sets. The key, I think, is to never return an array to Cocoa for a scripting property/element. First, if you give it a lazy array it will sometimes try to access all the elements even if it only needs a few. And, second, AppleScript will run out of memory if the array is too large. By using indexed accessors, you can maintain laziness and only convert one object to a descriptor at a time. By caching a batch-fetching collection, you can limit the number of fetches and respond quickly when AppleScript requests individual objects.

Previously:

Xcode 26.6

26 June 2026 at 18:23

Apple (xip, downloads):

Xcode 26.6 includes Swift 6.3 and SDKs for iOS 26.5, iPadOS 26.5, tvOS 26.5, macOS 26.5, and visionOS 26.5. Xcode 26.6 supports on-device debugging in iOS 15 and later, tvOS 15 and later, watchOS 8 and later, and visionOS. Xcode 26.6 requires a Mac running macOS Tahoe 26.2 or later.

[…]

Google Gemini is now available in the coding assistant.

Xcode adds support for the Agent Client protocol.

[…]

Launch Time similar-app goals have been refined for improved accuracy, establishing new baselines.

Previously:

Xcode 27’s Device Hub

25 June 2026 at 18:25

Apple:

You manage all the devices that appear in Xcode as run destinations using Device Hub.

Run your app on simulated devices in Device Hub to quickly evaluate new features and fix bugs, and to see how your interface works on devices that you don’t have physical access to. Run your app on physical devices to test features or services that have hardware dependencies or investigating performance issues. For more information, see Running your app on simulated or physical devices.

Fatbobman:

Device Hub is undoubtedly a major surprise. It integrates simulators, physical device management, system state testing, and dynamic size adjustment into a new workflow. Its impact on day-to-day development experience may be more direct than that of many individual APIs. That said, iPhone apps now also support dynamic size adjustment, which will bring new challenges for developers, especially in terms of data and state organization. Adapting to different sizes is not something that can be solved merely by relying on dynamic layout containers. In many scenarios, large and small sizes correspond to very different navigation logic.

Collin Allen (Mastodon):

Xcode 27 introduced, among other new features, a new Device Hub app for developers that takes the place of the Simulator app. Where Simulator relied on separate windows for each device, Device Hub brings them all together into a single window where each simulated device is the detail view from a source list of devices on the left. It’s a more organized approach, made necessary by the wide variety of platforms Apple and Apple platform app developers have to build and test against.

[…]

In releases prior to Xcode 27, you could resolve this by importing the root public certificate into the simulated OS. On iOS, this could be done by dragging and dropping the .cer file onto the Simulator device window. Nothing would appear to happen, but you could then navigate to Settings, General, About, Certificate Trust Settings and mark the certificate as trusted.

[…]

In Xcode 27 with Device Hub, this process is much more uniform. […] While this new process does require you to wrap certificates in an Apple Configurator profile, this is much more consistent with how Apple’s device management system works, as it relies on signed profiles with policies, not loose .cer files. And now, just by adding the .mobileconfig to the Profiles section of the device inspector, the embedded certificate is automatically marked as trusted, greatly speeding up installation on new virtual devices.

Steve Troughton-Smith:

I get what Apple is trying to do with the Device Hub, but it’s nowhere near as usable and as useful as the iOS Simulator (in this seed)

Adam Overholtzer:

Device Hub is missing the “pixel accurate” and “point accurate” zoom options and that’s not acceptable.

Steve Troughton-Smith:

Maybe someday the Simulator/Device Hub might even be able to output screenshots in the same orientation as the emulated device 😛

Steve Troughton-Smith:

Thanks to the remote control / screen sharing features of Device Hub, I can remotely navigate to Settings and start a software update on all my iOS27 devices without having to go collect them around the house 👌

Steve Troughton-Smith:

For all of Apple’s nonsense about adding iPhone Mirroring to the EU, the new Device Hub (iOS Simulator) lets you remote-control your physical iOS devices just fine. I don’t think the DMA has an opt-out for developer tools 😛

Steve Troughton-Smith:

It’s such a shame for now that Xcode 27’s Device Hub doesn’t support remote screen sharing with iOSes earlier than 27. I wish the screen sharing functionality was part of the developer disk image, and backported to iOS 26 and even iOS 18. Having a physical device plugged in somewhere is so much faster than booting a Simulator.

Previously:

Update (2026-06-26): Léo Natan:

Xcode 27’s “Device Hub” is a broken shitshow, but most importantly, it lacks the Debug menu, where you could toggle slow animations and simulate memory warnings. Apple works tirelessly to destroy any good tool they used to have.

He has a thread of issues. Hopefully these will be addressed before it’s out of beta.

Update (2026-07-01): Craig Hockenberry:

The Device Hub sometimes doesn’t kill CoreSimulator processes when you quit the app (not sure if this is a bug or intentional). Given that each device uses several hundred processes, the memory/processing impact is significant.

You’ll probably want to keep an eye on how many you have running: use right-click on the simulator in the list to “Shut Down” as necessary.

Core AI Announced

18 June 2026 at 19:55

Meet Core AI:

Discover Core AI, Apple’s new framework for on-device AI model deployment. Tour the ecosystem, from Python libraries for converting, authoring, and optimizing models, to a Swift API for simple plug-and-play inference and advanced use cases with strict latency and memory requirements. Explore the new Core AI models repository with ready-to-run examples for popular architectures. See how deep Xcode integration, including ahead-of-time model compilation, streamlines the workflow so you can deliver smarter, more responsive app experiences.

Dive into Core AI model authoring and optimization:

Dive into the complete custom model deployment workflow for Apple silicon with the new Core AI framework. Discover powerful techniques for authoring models using custom Metal kernels, alongside platform-aware compression strategies. The new Core AI Debugger offers deep intrinsic analysis, and AI-assisted workflows guide you from initial concept to optimized on-device execution.

Integrate on-device AI models into your app using Core AI:

Discover a curated collection of popular open-source models — including Qwen, Mistral, SAM3, and more — optimized for Apple silicon using the new Core AI Framework. Learn how to download, run, and benchmark models on your Mac, and integrate them into your app with just a few lines of code. Explore a new workflow for model compilation and on-device specialization to speed up first-time model load. Find out how to profile and optimize runtime performance with Core AI tools in Xcode.

Core AI Documentation (Hacker News):

Core AI helps you build, run, and deploy AI models in your app. Designed with Apple silicon in mind, Core AI allows your app to use the latest model architectures and inference techniques across the CPU, GPU, and Neural Engine. The Swift API makes common tasks simple, while giving you more control over model specialization, caching, and inference performance when needed.

Previously:

WWDC 2026 Links

17 June 2026 at 20:16

General:

Documentation:

Sessions:

Podcasts:

Previously:

Claude Code ganha suporte ao iOS Simulator

22 July 2026 at 14:41

A Anthropic implementou no Claude Code a possibilidade de testar aplicativos para iPhone em um painel interativo do iOS Simulator.

Aos interessados, será possível construir aplicativos para iPhones diretamente do Claude Code Desktop a partir da versão 1.24012.0 do app. A integração possibilita ainda a utilização de toques, gestos e atalhos da solução nativa da Apple para simular o iPhone.

Claude Code on desktop now works with the iOS simulator.

Build and run your iOS app, and the simulator opens in a panel right next to your conversation. Available today in public beta. pic.twitter.com/su4IguzPVb

— ClaudeDevs (@ClaudeDevs) July 21, 2026
O Claude Code no desktop agora funciona com o simulador do iOS.

Construa e execute seu aplicativo para iOS, e o simulador abre em um painel bem ao lado da sua conversa. Disponível hoje em beta público.

O recurso é exclusivo da versão para macOS do Claude Code (levando em conta, claro, a disponibilidade do Simulator da Apple), e é necessário ainda ter o Xcode com a plataforma iOS instalada.

Para executar um determinado app, basta abrir o projeto na aba “Code” do Claude Code Desktop, pedir à inteligência artificial (IA) para testar o aplicativo e… pronto. É possível que no primeiro acesso o app solicite uma permissão para seguir com a instalação. O painel dispensa o uso do Computer Use (com exceção da versão em CLI), controlando diretamente o uso do iOS Simulator.

Ainda em beta pública, a ferramenta exige sessões locais, pois sessões em nuvem não são capazes de acessar simuladores instalados no Mac. A novidade está disponível para usuários dos planos Pro, Max e Team.

Visual Studio Code backs multi-chat Claude sessions

14 July 2026 at 02:27

Visual Studio Code 1.128, the most recent edition of Microsoft’s code editor, adds support for multi-chat agent sessions using Anthropic Claude agents.

Introduced July 8, VS Code 1.28 can be downloaded for Windows, Linux, or Mac from code.visualstudio.com.

With VS Code 1.28, multi-chat agent sessions now support using Anthropic Claude agents. With multiple chats, a session can contain related chats, allowing users to compare approaches, branch from an earlier turn, and run work in parallel. Users can add chats, fork a chat from an existing turn, switch between peer chats, and send turns concurrently. Each chat keeps its own history, title, and model selection, and restores with the parent session after restart, Microsoft said.

VS Code 1.28 also makes Copilot Vision generally available. With Copilot Vision, VS Code users can attach images and PDFs by pasting them into chat, dragging and dropping them, or using the context menu. Images also may be read by the agent via a tool call, Microsoft said.

Also in VS Code 1.28:

  • Quick chats allow users to ask a question in the Agents window without opening a workspace first.
  • VS Code can contribute OS-level keyboard shortcuts that take effect even if VS Code is not in focus. Users can add systemWide to a keybinding definition in keybindings.json to make it OS-level.
  • Developers can configure a location for browser tabs to open via a new setting, workbench.browser.newTabPlacement. The setting provides three options: to open browser tabs in the active editor group, in a dedicated group to the side, or in a dedicated auxiliary window.
  • VS Code can contribute OS-level keyboard shortcuts. These shortcuts take effect even if VS Code is not in focus.
  • Administrators can configure where GitHub Copilot sends OpenTelemetry (OTel) data, allowing organizations to enforce telemetry flows to an approved collector without each developer setting OTEL_* environment variables. The managed configuration applies to both the Copilot Chat extension and the agent host process.

Using Visual Studio Code’s ‘air-gapped’ AI model mode

24 June 2026 at 10:00

Microsoft has been pushing hard to make Visual Studio Code a major way to consume its AI services, mostly in the form of GitHub Copilot. GitHub Copilot’s deep integration with VS Code brings many conveniences — inline autocomplete, for instance — but it’s frustrating for those, like me, who would rather use another model provider, or even a locally hosted LLM, for those functions.

Visual Studio Code 1.122 introduced a new feature, “Use BYOK [Bring Your Own Key] without a GitHub sign-in,” that allows you to “use chat, tools, and MCP servers in air-gapped or restricted environments where GitHub sign-in isn’t possible.” More importantly, it “enables fully offline workflows with local models like Ollama.”

In other words, you can now use locally hosted LLMs for chat, tools, and Model Context Protocol servers inside Visual Studio Code. The one thing you still can’t do is use a local LLM for inline and next-edit suggestions — at least, not without additional tooling.

Choosing a model for BYOK mode

If you want to use a local LLM with VS Code’s bring-your-own-model system, the first thing you need is a way to host the model. VS Code lacks a model-hosting mechanism of its own, although it’s conceivable that a VS Code extension may offer something like that in the future. That said, hosting models is complicated enough that a dedicated app is really needed for the job.

One easy way to host models is via a product like LM Studio, a convenient GUI for standing up, serving, and managing LLMs on one’s own hardware. The model host does not have to be the same system you run VS Code on, either. It can be on a server box you control, or on a cloud instance.

The choice of model is also important. Many models are powerful but won’t run well on commodity hardware because they’re simply too big. A good rule of thumb is to choose a model that fits into existing VRAM, along with the memory needed for a sizable token context (the more, the better). Also, the model should be suited to coding and development work. Some models in this vein that fit comfortably into 8GB VRAM include:

Setting up BYOK mode in VS Code

Once you have a model up and running, you can integrate it with Visual Studio Code. If you’ve disabled VS Code’s AI features, you will need to turn them on. Make sure the setting chat.disableAIFeatures is turned off. You can find it in Settings | Chat | Miscellaneous.

Third-party language models are managed through Visual Studio Code’s language model list. Press Ctrl-Shift-P and type Manage Language Models to open the list of existing language models.

Managing VS Code's AI language model list

Managing VS Code’s AI language model list. The models available by default are only models available as external APIs, not models that run locally.

Foundry

First you will see a list of the built-in models, which are all externally hosted. To add a new model, select Add Models at the top right and select Custom Endpoint.

You’ll then get a series of prompts:

  • Group Name: This is “Custom Endpoint” by default, but you can choose any name you want. The name is strictly for organizing the model list and doesn’t affect things like model recognition or connectivity.
  • API Key: If you’ve configured LM Studio to use an API key for serving models, provide it here. If you’re hosting the model locally and you haven’t explicitly set up API keys, you can leave this blank.
  • API Type: The options here are Chat Completions, Responses, and Messages. Most of the time you’ll want to use Responses, as it’s the most general-purpose option of the three.

Once you finish providing those answers, you’ll be dropped into a modal editor for a JSON file that holds the details about the endpoint you’re configuring.

A newly created custom endpoint for a locally hosted model

A newly created custom endpoint for a locally hosted model. The ID, name, and URL still need to be defined for this model to be useful.

Foundry

You’ll need to provide a few more details by typing them into the labeled fields:

  • id: A text field that uniquely identifies this particular entry. The choice of ID is pretty much arbitrary; if you’re using only a single model, the ID could be the model name.
  • name: The name of the model that is used to identify it on the model server. In LM Studio, you can get this name by clicking on My Models in the main interface, then selecting the three-dot icon for the model in question and clicking Copy Default Identifier. For Qwen 2.5, for instance, name might be something like qwen2.5-coder-7b-instruct.
  • url: The URL to the server’s endpoint. On LM Studio, this defaults to something like http://127.0.0.1:1234/v1. The /v1 at the end is important because that endpoint is used for autodiscovery of models and their capabilities.

The other fields generally don’t need editing. Most models have tool calling functionality. If you know for a fact that the model you’re using doesn’t have vision support, then set vision to false.

Once you have these fields filled in, you can close the modal editor to save the changes. If you reload the Manage Language Models page, you’ll now see your new endpoint:

A newly created local endpoint

A newly created local endpoint. The choice of name and group is arbitrary. “Custom Endpoint” is the default name for a newly created group of endpoints.

Foundry

You should now be able to launch the chat window and use the defined model for conversation and utilities:

Conversing with the local model using VS Code's chat window

Conversing with the local model using VS Code’s chat window. Note the selected code block in the left pane that is being used as the context for the conversation.

Foundry

One current, and major, limitation of Visual Studio Code’s BYOK functionality is that it only works for chat and utility tasks. It doesn’t allow you to use a local model for inline suggestions or code completions. The only way to take advantage of local models for expanded functionality with VS Code is to use a third-party tool like Continue.

It isn’t clear if Microsoft will eventually lift this restriction. GitHub Copilot integration in VS Code is a large part of how Copilot as a service reaches its target audience. For the time being, you can certainly use third-party and local models for a significant part of your AI-assisted development work in VS Code, and you can close the functionality gap with additional tooling.

❌