Swift good first issues

779 open Swift issues currently match the default 10+ star filter. Scored difficulty: 5,943 at 1/5, 8,784 at 2/5, 12,678 at 3/5, 12,097 at 4/5, 857 at 5/5. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Swift.

All languages · Browse projects · How to find good first issues · Swift good first issues guide · Hacktoberfest 2026

Active projects

Unique repos with open help-wanted issues updated in the last 30 days

Showing 30 of ~779 matching filters (Swift · 10+ stars)

List

CLI automation verbs silently ignore trailing arguments and unknown flags

AI summary

The `cmux automation` CLI incorrectly accepts and ignores extraneous arguments and unknown flags for several commands, such as `list`, `show`, `enable`, and `disable`. This can lead to unintended actions or mutations of automation state, as the CLI proceeds with execution without error. The suggested fix involves implementing robust argument parsing and validation for each verb to reject malformed commands.

bughelp wantedS2: majorarea: clidifficulty:2
27.0K
Difficulty
3/5

`OTelLogHandler(includeTraceContext: false)` is ignored

AI summary

The `OTelLogHandler` in the OpenTelemetry Swift SDK incorrectly includes trace context in log records even when `includeTraceContext` is set to `false`. This is due to two separate defects, one of which unconditionally attaches the active span context in the `log(event:)` method, preventing the flag from being respected.

good first issue
358
Difficulty
2/5

SwiftMetricsShim: metrics with the same label and different dimensions are merged

AI summary

The OpenTelemetrySwiftMetrics library incorrectly merges metrics that share the same label but have different dimensions. This leads to metrics with distinct dimensions being treated as the same, causing incorrect aggregation of data. The suggested fix is to include dimensions in the metric key to ensure proper differentiation and handling of metrics.

good first issue
358
Difficulty
2/5

OTelLogHandler: the default logger provider is a no-op

AI summary

The OTelLogHandler in the OpenTelemetry Swift SDK incorrectly defaults to a no-op logger provider, ignoring any globally registered provider. This prevents logs from being exported as intended, as demonstrated by the provided reproduction steps. The suggested fix is to align the default behavior with how other components like OTelTracer access the global provider.

good first issue
358
Difficulty
2/5

Settings: launch-time socketPassword scrub rewrites cmux.json, dropping comments, escaping slashes and replacing a symlink

AI summary

The application's launch-time process for handling `socketPassword` incorrectly rewrites the `cmux.json` configuration file. This rewrite removes comments, escapes slashes in paths, and breaks symlinks, leading to data loss and unexpected behavior for users who manage their dotfiles. The current implementation conflicts with the standard configuration writing mechanism which preserves these elements.

bughelp wantedS3: minorarea: settingsdifficulty:2
27.0K
Difficulty
3/5

OTelLogHandler: handler metadata overrides per-call metadata

AI summary

The OTelLogHandler in Swift is incorrectly merging metadata, causing handler-level metadata to override per-call metadata. This prevents developers from overriding global settings at the call site, contrary to the expected behavior of swift-log. The suggested fix is to reverse the order of metadata merging.

good first issue
358
Difficulty
2/5

`OTelLogHandler` does not support `Logger.MetadataProvider`

AI summary

The OTelLogHandler in swift-log is missing support for Logger.MetadataProvider. This means any metadata provided through this mechanism is not being included in the log records, despite the handler accepting assignments to its metadataProvider property. The suggested fix is to implement this missing property.

good first issue
358
Difficulty
2/5

Menu labels may be missing (iOS 16)

AI summary

On iOS 16, after enabling 'Save and Fill Addresses' and switching the Appearance setting to 'Dark', menu labels within Settings become missing when attempting to re-open Settings. This issue is reproducible with specific steps and has been observed on an iPhone 14 simulator running iOS 16.4.

Contributor OKBug 🐞eng:bug-auto-foundGood first issue
13.0K
Difficulty
2/5
lzhgus/Capso

Help review Capso's translations (10 languages)

AI summary

This issue requests native speakers to review and improve machine-assisted translations for the Capso application across ten languages. Contributors can help by testing the app in their language and reporting issues, or by submitting pull requests to directly edit the translation files.

help wantedgood first issue
1.4K
Difficulty
2/5

Pi first-class parity with Claude Code and Codex (tracker)

AI summary

This issue tracks the effort to make the 'Pi' coding agent a first-class citizen alongside Claude Code and Codex. Currently, Pi requires manual setup and is not fully integrated into all surfaces, unlike its counterparts. The goal is to achieve automatic integration, consistent UI states, and broader surface support for Pi.

enhancementhelp wantedarea: agentsdifficulty:4
27.0K
Difficulty
4/5

CLI contract omits shipped canvas and project namespaces

AI summary

The CLI contract documentation is missing two shipped namespaces: `cmux canvas` for freeform canvas layout and `cmux project open` for opening Xcode projects. This omission prevents users and maintainers from knowing about these public commands and their functionality. The requested outcome is to add these namespaces to the contract and document their subcommands and behavior.

bughelp wantedS4: cosmeticarea: cliarea: docsdifficulty:1
27.0K
Difficulty
2/5

[Feature]: Keep your Mac awake when an agent is running.

AI summary

The user is requesting a new feature to prevent their Mac from sleeping while an agent is running within the application. They cite another open-source project that provides this functionality and express a desire to consolidate their tools by having this feature integrated into the current application.

enhancementhelp wanted
515
Difficulty
2/5

Copilot hook setup writes unsupported generic event names

AI summary

The `cmux hooks setup copilot` command incorrectly registers generic event names for GitHub Copilot CLI hooks. This mismatch prevents Copilot from recognizing and processing lifecycle callbacks, meaning users won't receive status updates, notifications, or session cleanup even after a successful setup. The fix involves aligning the registered event names with Copilot's expected camelCase schema and adding a test to verify this mapping.

bughelp wantedS2: majorarea: agentsarea: clidifficulty:2
27.0K
Difficulty
2/5

New Name suggestions

AI summary

The project maintainer is seeking suggestions for a new name to rebrand the project. The current name is considered inadequate, and the new name should reflect that it's a remote control app for Transmission, written in Swift and native, ideally with a clever pun or wordplay.

help wanted
12
Difficulty
1/5
vapor/vapor

Handled a DebuggableError

AI summary

This issue describes a bug where the `Logger+Report` file incorrectly handles `DebuggableError` by calling the log function without passing source information. This prevents the logging of file, function, and line details. The proposed solution involves modifying the log function signature to explicitly accept and pass the `source` parameter.

bughelp wantedgood first issue
26.2K
Difficulty
2/5
vapor/vapor

`URLQueryContainer` should have a `has`/`contains` method

AI summary

This issue proposes adding a `has` or `contains` method to the `URLQueryContainer` class. This method would allow developers to efficiently check for the existence of a query parameter without needing to retrieve its associated value, simplifying common use cases.

help wantedgood first issue
26.2K
Difficulty
2/5
vapor/vapor

Include Request URL in RouteNotFound Error

AI summary

This issue proposes to enhance Vapor's `RouteNotFound` error by including the requested URL. Currently, the error message lacks this crucial debugging information. The proposed change involves modifying the `DefaultResponder` to include the request URL in the `RouteNotFound` error, making it easier for developers to pinpoint 404 errors in logs and during debugging.

enhancementhelp wantedgood first issue
26.2K
Difficulty
1/5

CodeRouter OAuth setup ignores cmux custom Claude binary path

AI summary

The CodeRouter OAuth setup process incorrectly ignores the custom Claude binary path configured in cmux. This leads to the setup process potentially using an unintended Claude installation, causing issues for users who have specifically configured a custom path for their Claude executable.

bughelp wantedS3: minorarea: agentsarea: clidifficulty:2
27.0K
Difficulty
3/5

Remote CLI help contract omits SSH and persisted-session options

AI summary

The documentation for the remote CLI's SSH and persisted-session commands is incomplete, omitting several supported flags and options. This prevents users from discovering necessary selectors for managing SSH sessions and available transport/authentication methods. The proposed fix is to update the documentation to accurately reflect the command's actual usage.

bughelp wantedS4: cosmeticarea: cliarea: docsdifficulty:2
27.0K
Difficulty
2/5

Clear a selection when the program overwrites the text it covers

AI summary

When text within a selection is overwritten by the program, the selection highlight remains in its original position, obscuring the new text. This issue occurs because the selection is anchored to document coordinates and is not re-anchored or cleared when lines are rewritten in place, unlike when lines are scrolled. A plain click does not clear the selection when mouse reporting is enabled in the child program.

bughelp wanted
11
Difficulty
3/5

Translate the UI: Japanese, Spanish, Portuguese, Korean, Italian, Turkish (6 languages shipped)

AI summary

This issue proposes internationalizing the Mac Clean application by adding support for multiple languages. The core task involves identifying and localizing hardcoded English strings within the user interface by creating `Localizable.strings` files for each target language. The work is to be done incrementally, with one language per pull request.

help wantedgood first issue
1.1K
Difficulty
3/5

Make a keystroke's echo reach the glass as fast as Ghostty's, by default

AI summary

This issue aims to reduce the latency of keystroke echoes in the terminal to match that of Ghostty by default. The current default frame driver introduces a significant delay between the echo appearing in the grid and a frame being encoded, which this issue seeks to eliminate or justify.

enhancementhelp wanted
11
Difficulty
4/5

Option to display snow_depth in centimeters instead of meters

AI summary

This issue requests an enhancement to display snow depth in centimeters instead of meters for better user readability. The user suggests adding a unit selection option, a separate field for centimeters, or adjusting the display of small values to be more intuitive, aligning with common weather visualizations.

good first issue
6.0K
Difficulty
2/5

Translation cut off to "Check your bum..."

AI summary

A German translation for "Check your inbox" on the Mastodon iOS app is cut off on iPhone 12 mini running iOS 17, resulting in the humorous phrase "Check your bum...". The user suggests alternative translations or font adjustments to fix this display issue.

good first issuei18n
2.3K
Difficulty
2/5

Cloud CLI contract omits supported vm command options

AI summary

The cloud CLI contract documentation is missing several supported command options for `vm` subcommands, leading to incomplete information for users and automation scripts. This issue requires updating the contract table to reflect the actual command help and implementation, and potentially adding a consistency test to prevent future drift.

bughelp wantedS4: cosmeticarea: cliarea: docsdifficulty:2
27.0K
Difficulty
2/5

CPU Power Showing 0.00W

AI summary

The Stats app on a MacBook Air M5 running macOS 27 is incorrectly displaying CPU power consumption as 0.00W. The user is requesting a fix to ensure accurate power usage is reported.

help wanted
42.3K
Difficulty
2/5

Publish a JSON Schema file for the configuration file

AI summary

This issue proposes publishing a JSON Schema file for the project's configuration file. This will enable better developer experience through autocompletion and validation in IDEs, and will also involve updating examples and documentation to include the schema reference.

kind/usabilitygood first issue
2.0K
Difficulty
2/5

Also browsing: Python , TypeScript , JavaScript