Copilot moves into the coding assistant
GitHub’s November 4 announcement gives Apple-platform developers another way to use Copilot: directly inside Xcode’s built-in coding assistant. The integration is in public preview starting with Xcode 27.3 beta, requires macOS Tahoe 26.6 or later, and supports all Copilot plans. The existing GitHub Copilot for Xcode extension remains a separate option. Those are meaningful distinctions for anyone considering a switch: a new place to work with an assistant does not by itself establish that the assistant will produce a better app.
A useful first question is whether the integration helps with the parts of native development that make you leave a conversation and inspect the project. Can you identify the relevant view, understand its surrounding state, see the proposed changes and check the resulting interface without losing track of which version you are looking at? An answer that sounds right in chat is only one part of that loop.
The following pilot is a proposed evaluation method, not a report of hands-on testing. It uses a small fictional SwiftUI app and an ordinary interface improvement: make the empty state in a saved-places screen useful. The task is deliberately narrow enough that a developer can review every changed line and see every relevant screen. It is also rich enough to reveal whether an assistant understands the difference between missing data and a filter that happens to return no matches.
Treat the preview as a candidate workflow. Keep a record of which Xcode build, assistant route and configuration you used. That makes the result useful later, when a feature changes or a colleague tries to reproduce your experience. A successful afternoon should tell you whether to try another bounded task, rather than committing the whole team to a new development setup.
Source: GitHub: Copilot is now available in Xcode’s coding assistant ↗ · Apple: Setting up coding intelligence ↗ · Apple: Xcode 27.3 beta release notes ↗ · GitHub: Copilot for Xcode extension documentation ↗ · Apple: Xcode and Previews overview ↗
Give the interface a reason to change
Imagine an app where someone saves quiet places to read: a library corner, a park bench or a café with a sheltered table. Its main screen lists those places and has a search field. Today, both an empty collection and an unsuccessful search leave a blank area below the toolbar. The requested change is to explain each state and offer one appropriate next step, using the app’s existing visual style.
For an empty collection, the screen should explain that no places have been saved and show the existing action for adding one. For a collection with no search matches, it should explain that the current search found nothing and offer to clear the search. That action should preserve the saved places. If a place is added successfully, the ordinary list should appear. The pilot does not need a new account system, location service, recommendation engine or remote database.
Write those expectations down before opening the assistant. They form a short design brief that you can give to either route. Add two constraints that matter for review: keep the current navigation destination for adding a place, and reuse the existing place model. An attractive redesign that invents a second creation flow would miss the purpose of the exercise. So would a clever state-management rewrite that makes a small screen change difficult to audit.
Prepare fictional sample entries, including one with a long name. Note the existing target, scheme and deployment setting. Open the current screen yourself, capture its two blank states and make sure the current project builds. This baseline separates a new problem from an old one. If the project already has a preview issue, record it before asking the assistant to change anything. Otherwise the conversation can drift into repairing the environment and tell you little about the integration you wanted to evaluate.
Compare routes without assuming feature parity
Apple’s setup documentation says agents enabled in the coding assistant can access project files and Xcode capabilities such as building and testing. It also directs developers to the Intelligence settings for setup and privacy information. This gives the built-in route an important context: it is part of Xcode’s own assistant system. It does not establish that every capability is available in exactly the same way through every provider, account or configuration.
The separate extension has its own documented workflow. GitHub’s repository describes chat, completions and an agent mode that can search and edit files, run terminal commands and use configured MCP tools. Its installation also involves a companion application and permissions. These descriptions establish that there are two routes to evaluate. They do not justify saying that one has more complete project understanding, that both share a conversation, or that an extension feature automatically exists in the new built-in integration.
For a useful comparison, start each route from the same clean revision and provide the same design brief. If you already use the extension, capture how you would normally perform this task there before trying the built-in assistant. Avoid running both against the same changing files at once. You want to know which route made which proposal, not spend the afternoon separating overlapping edits.
Record the context you explicitly supplied: the screen file, model, existing add-place view and any design guidance. Then note what the assistant found independently and what you had to point out. A request for clarification can be a good result if it catches a real ambiguity. An apparently confident edit can be a poor result if it silently creates a new data source. Context quality is visible in the relevance of the proposed work and the cost of correcting it, not simply in how few questions the tool asks.
Watch the work between the prompt and the screen
Ask the assistant first to identify where the list’s empty state and search state are decided, and to outline a small change. That request gives you a chance to inspect its understanding before accepting edits. In the fictional app, a useful explanation would distinguish the stored collection from the filtered results and identify how the add-place action is already wired. If it cannot locate that distinction, supply the missing context and note the intervention.
Next, ask for the implementation within the agreed scope. Pay attention to what happens around the code. Can you tell which files changed? Can you inspect a proposed edit before it becomes part of the project? When a build or preview is requested, can you see which target or view the action concerns? These are observations to make during the pilot, not promised behavior of the new integration. The value of the interface is partly whether it makes the assistant’s work legible.
Keep a small intervention log. Write down when you provide a missing file, correct a mistaken assumption, reject an unrelated change or manually repair an edit. Use specific descriptions: the assistant changed the add-place destination, or it confused an empty search result with an empty saved collection. A general score such as helpful misses information you would need to choose the tool for tomorrow’s task.
Also separate blocked execution from poor implementation. A missing simulator runtime, an account problem or a beta preview failure may prevent the workflow from reaching the screen. Record the actual failure and the point where it occurred. Do not count an assistant’s statement that a build should pass as an observed build, and do not infer a working interface from a clean-looking diff. You can still learn from a partial pilot, provided its conclusion says exactly which part you could evaluate.
Review the native interface in several states
Once you have a buildable proposal, compare the result with the design brief rather than with the assistant’s final summary. Begin with an empty collection and no search text. Does the explanation make sense to a first-time user? Does its action open the existing add-place flow? After saving an entry, does the list replace the empty state without requiring an unrelated refresh or navigation detour? These questions connect a code change to the ordinary sequence a person will follow.
Then load the fictional collection and enter a search that matches nothing. Check that clearing the search restores the saved entries. Try a search that matches the long place name. This makes it easier to spot a layout that was designed around a convenient short string. Keep the task’s data behavior in view: clearing a search is an interface action, and it should not delete the collection or create another copy of it.
Apple describes Xcode Previews as a way to visualize views and adjust conditions such as appearance and text size. Use those capabilities where they fit your project, then inspect the relevant interaction in a simulator or device environment you normally support. Look at larger text, a narrow screen and dark appearance. A centered message that looks balanced in one screenshot may crowd its action when the text wraps. An icon may communicate little without the words beside it. The objective is to inspect the proposed screen under meaningful conditions, not to collect a large number of screenshots.
Finally, read the patch with the UI in front of you. Check whether display strings follow the project’s existing localization approach and whether the new action uses the same navigation pattern as surrounding controls. Inspect unexpected file changes and generated assets. If the assistant added a dependency for a simple empty state, ask what it buys and whether the project needs that commitment. A small change should leave the next developer able to find and modify the behavior without deciphering a second interface framework.
Decide on the workflow, then choose the next task
At the end, put the two routes beside the same acceptance brief. You do not need a league table. A short account of where each route helped or required intervention is more useful: one may make it easier to inspect edits, another may fit an established completion habit, and either may be blocked by a requirement on the evaluation machine. Keep those observations distinct from the quality of the particular model response you happened to receive.
If you tracked time, divide it into setup, task work and review. A beta installation can dominate a first run, while review may dominate a later one. Reporting only time until the first patch hides the work of checking the app. If you did not measure time, say the pilot produced qualitative observations. Avoid turning a pleasant experience into an unsupported productivity claim or a difficult first setup into a prediction about every later session.
Before making the built-in route a regular habit, review the project information shared through the assistant and your organization’s rules for using external services. Apple’s setup page explicitly points to privacy information for the integration. Use a project you are permitted to share during the pilot; a fictional data set does not automatically make all source files unrestricted. Keep the baseline revision and the reviewed result so a colleague can understand what changed.
The most promising outcome is modest and concrete: you can describe how the assistant received context, what it changed, which tool actions you observed, and how you confirmed the interface behaved as intended. If that loop feels clearer in the built-in assistant, try another small native-app task with a different kind of state. If the extension already serves the work well, the announcement gives you an additional option to revisit. The decision belongs to the development process you can observe, not to the location of the chat panel.
Try this, then make it yours.
On a clean branch of a permitted sample app, improve an empty state with two distinct cases: no saved items and no search matches. Keep the data model and navigation unchanged. Record the context you supply, every intervention, and the screen behavior you actually inspect.
Follow the signal.
Our reporting starts here. Practical suggestions are our analysis, and vendor performance statements are claims unless independently verified. We haven’t hands-on tested this release.
- GitHub: Copilot is now available in Xcode’s coding assistant ↗ · 2026-11-04
- Apple: Setting up coding intelligence ↗
- Apple: Xcode 27.3 beta release notes ↗
- GitHub: Copilot for Xcode extension documentation ↗
- Apple: Xcode and Previews overview ↗



