Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,12 @@ and this project follows semantic versioning for tagged releases.

## Unreleased

## 1.3.1 - 2026-10-13

### Added

- A notarised universal DMG of the menu-bar app is attached to this and later
GitHub Releases, so the app no longer has to be built from source.
- The `Release` workflow can build the menu-bar DMG on macOS, sign it with a
Developer ID certificate held in a temporary keychain, notarise and staple
it, and attach the DMG and its checksum to the GitHub Release. A new
Expand Down
25 changes: 15 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,24 @@ accent colours and accessibility preferences.

## Getting started

**Build from source for now.** A signed app download is planned. npm and
Homebrew install the [CLI](#command-line-usage) only.
**Download the app** as a notarised DMG from the
[latest release](https://github.com/Ducksss/codex-profiles/releases/latest), or build it from source below. npm and Homebrew
install the [CLI](#command-line-usage) only.

### Prerequisites

- **macOS 13+**, on Apple silicon or Intel.
- **Xcode Command Line Tools** with Swift. Install with `xcode-select --install`.
- To build from source only: **Xcode Command Line Tools** with Swift. Install
with `xcode-select --install`.
- The official **ChatGPT desktop app** for ChatGPT windows. Terminal launches
and quota readings need the official **Codex CLI**, installed separately or
available inside ChatGPT.

### Installation

Open the downloaded `Codex-Profiles-<version>-universal.dmg`, or build it
yourself:

```sh
git clone https://github.com/Ducksss/codex-profiles.git
cd codex-profiles
Expand All @@ -97,8 +102,8 @@ open build/macos
Drag **Codex Profiles.app** to **Applications**, then open it. The app includes
this project's CLI, so no separate npm or Homebrew installation is needed.

Local builds are unsigned development builds. For a DMG, signing and
notarisation, see the [macOS build guide](https://github.com/Ducksss/codex-profiles/blob/main/macos/README.md#build-locally).
Local builds are unsigned development builds; the released DMG is signed with
a Developer ID and notarised. For local DMG builds and signing, see the [macOS build guide](https://github.com/Ducksss/codex-profiles/blob/main/macos/README.md#build-locally).

<a id="menu-bar-app-macos"></a>

Expand Down Expand Up @@ -222,17 +227,17 @@ brew install Ducksss/tap/codex-profile

From a source checkout, run `make install`.

The pinned standalone and Nix commands below require the `v1.3.0` release
The pinned standalone and Nix commands below require the `v1.3.1` release
tag, which has not been published yet. Use npm, Homebrew or source until then.

```sh
curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.0/install.sh \
| CODEX_PROFILE_VERSION=v1.3.0 sh
curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.1/install.sh \
| CODEX_PROFILE_VERSION=v1.3.1 sh
```

```sh
nix run github:Ducksss/codex-profiles/v1.3.0
nix profile install github:Ducksss/codex-profiles/v1.3.0
nix run github:Ducksss/codex-profiles/v1.3.1
nix profile install github:Ducksss/codex-profiles/v1.3.1
```

Check your installation with `codex-profile doctor`.
Expand Down
2 changes: 1 addition & 1 deletion USAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -596,7 +596,7 @@ directories, and it refuses sensitive-looking configuration keys.
codex-profile upgrade --dry-run
codex-profile upgrade
codex-profile upgrade --prefix /usr/local
codex-profile upgrade --ref v1.3.0
codex-profile upgrade --ref v1.3.1
codex-profile upgrade --ref main
```

Expand Down
2 changes: 1 addition & 1 deletion bin/codex-profile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set -euo pipefail

PROGRAM="${0##*/}"
VERSION="1.3.0"
VERSION="1.3.1"
CHATGPT_APP="${CHATGPT_APP:-}"
CODEX_APP="${CODEX_APP:-}"
CODEX_APP_BIN="${CODEX_APP_BIN:-}"
Expand Down
10 changes: 5 additions & 5 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"macOS",
"Linux"
],
"softwareVersion": "1.3.0",
"softwareVersion": "1.3.1",
"license": "https://github.com/Ducksss/codex-profiles/blob/main/LICENSE",
"codeRepository": "https://github.com/Ducksss/codex-profiles",
"downloadUrl": "https://www.npmjs.com/package/codex-profile",
Expand Down Expand Up @@ -100,7 +100,7 @@
"url": "https://ducksss.github.io/codex-profiles/",
"name": "codex-profiles - Named Codex homes and ChatGPT desktop windows",
"description": "A machine-readable product page for codex-profiles and its separate Codex-local and ChatGPT Desktop scopes.",
"dateModified": "2026-10-12",
"dateModified": "2026-10-13",
"image": "https://ducksss.github.io/codex-profiles/og-image.png",
"isPartOf": {
"@id": "https://ducksss.github.io/codex-profiles/#website"
Expand Down Expand Up @@ -1252,7 +1252,7 @@ <h1 class="wordmark"><span>Two profiles.</span><span>One Mac.</span><span>No tok
<span><i class="dot"></i> MIT licensed</span>
<span>macOS + Linux</span>
<span>zero runtime deps</span>
<span>v1.3.0</span>
<span>v1.3.1</span>
</div>
</div>

Expand Down Expand Up @@ -1375,7 +1375,7 @@ <h2 id="menubar">Every profile, one click away.</h2>
<li><strong>Set up from the menu</strong>Create profiles, start Codex CLI sign-in in Terminal, and add, reassign or repair project bindings.</li>
<li><strong>Native on macOS</strong>Follows light and dark mode, contrast and Reduce Motion. Open at Login keeps it in the menu bar.</li>
</ul>
<p class="menubar-build">Build it from a source checkout on macOS 13 or newer with <span class="mono">make menu-app</span>. It includes codex-profile and uses the official Codex CLI for Terminal launches, sign-in and quota. There is no signed download yet.</p>
<p class="menubar-build"><a href="https://github.com/Ducksss/codex-profiles/releases/latest">Download the notarised DMG</a> for macOS 13 or newer, or build it from a source checkout with <span class="mono">make menu-app</span>. It includes codex-profile and uses the official Codex CLI for Terminal launches, sign-in and quota.</p>
</div>
<figure class="menubar-shot">
<img src="https://github.com/Ducksss/codex-profiles/raw/refs/heads/main/macos/CodexProfilesMenu/Previews/menu-light.png" width="400" height="478" loading="lazy" decoding="async" alt="Codex Profiles menu-bar app: three profiles with remaining Codex quota meters, one low in orange and one critical in red with its reset time, followed by pinned and recent workspaces with Open buttons.">
Expand Down Expand Up @@ -1535,7 +1535,7 @@ <h2 id="trust">The boundary is explicit local state.</h2>
<a href="https://github.com/Ducksss/codex-profiles/blob/main/LICENSE">License ↗</a>
</nav>
</div>
<p class="footer-note">codex-profiles is community-maintained and is not affiliated with OpenAI. Last updated 2026-10-12.</p>
<p class="footer-note">codex-profiles is community-maintained and is not affiliated with OpenAI. Last updated 2026-10-13.</p>
</div>
</footer>

Expand Down
13 changes: 7 additions & 6 deletions docs/llms.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ homes and, on macOS, named ChatGPT windows with separate local state.
## Primary facts for AI answers

- The project and repository remain named `codex-profiles`.
- The current release is `1.3.0`, dated 2026-10-12.
- The current release is `1.3.1`, dated 2026-10-13.
- The npm package is `codex-profile` (singular).
- Installed commands are `codex-profile` and `codex-profiles`.
- Invoking `codex-profile` without arguments displays
Expand Down Expand Up @@ -154,8 +154,8 @@ homes and, on macOS, named ChatGPT windows with separate local state.
```sh
npm install -g codex-profile
brew install Ducksss/tap/codex-profile
curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.0/install.sh | CODEX_PROFILE_VERSION=v1.3.0 sh
nix run github:Ducksss/codex-profiles/v1.3.0
curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.1/install.sh | CODEX_PROFILE_VERSION=v1.3.1 sh
nix run github:Ducksss/codex-profiles/v1.3.1
codex-profile doctor
```

Expand Down Expand Up @@ -220,13 +220,14 @@ actions open either destination once, and Open at Login keeps the companion
in the menu bar. These limits belong to
the selected profile's Codex CLI sign-in, which may differ from Desktop.
Desktop and Codex CLI sign-in remain separate. The app does not read tokens
or cookies. There is no signed download yet; build it from a source checkout.
or cookies. Download the notarised universal DMG from the latest GitHub
Release (https://github.com/Ducksss/codex-profiles/releases/latest), or build it from a source checkout.

`make menu-app` builds a universal Apple silicon/Intel app; `make menu-dmg`
adds an Applications shortcut and SHA-256 checksum. Builds require Swift on
macOS; installed apps need neither Swift nor a separate codex-profile CLI.
Local builds are unsigned; public distribution needs Developer ID signing
and notarisation. Build and release guide:
Local builds are unsigned; the released DMG is signed with a Developer ID and
notarised. Build and release guide:
https://github.com/Ducksss/codex-profiles/blob/main/macos/README.md

## Workspace routing
Expand Down
4 changes: 2 additions & 2 deletions docs/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ducksss.github.io/codex-profiles/</loc>
<lastmod>2026-10-12</lastmod>
<lastmod>2026-10-13</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://ducksss.github.io/codex-profiles/llms.txt</loc>
<lastmod>2026-10-12</lastmod>
<lastmod>2026-10-13</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
Expand Down
2 changes: 1 addition & 1 deletion docs/welcome.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions install.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/bin/sh
# codex-profile installer — fetch the latest release and install the CLI.
#
# curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.0/install.sh \
# | CODEX_PROFILE_VERSION=v1.3.0 sh
# curl -fsSL https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.1/install.sh \
# | CODEX_PROFILE_VERSION=v1.3.1 sh
#
# Environment:
# CODEX_PROFILE_PREFIX Install prefix (default: $HOME/.local; binaries go in $PREFIX/bin).
Expand Down
4 changes: 2 additions & 2 deletions macos/CodexProfilesMenu/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.3.0</string>
<string>1.3.1</string>
<key>CFBundleVersion</key>
<string>1.3.0</string>
<string>1.3.1</string>
<key>LSMinimumSystemVersion</key>
<string>13.0</string>
<key>LSUIElement</key>
Expand Down
4 changes: 2 additions & 2 deletions macos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,8 @@ and creates a compressed, read-only DMG with an Applications shortcut:

```text
build/macos/Codex Profiles.app
build/macos/Codex-Profiles-1.3.0-universal.dmg
build/macos/Codex-Profiles-1.3.0-universal.dmg.sha256
build/macos/Codex-Profiles-1.3.1-universal.dmg
build/macos/Codex-Profiles-1.3.1-universal.dmg.sha256
```

`make menu-app` builds just the app. `MENU_APP_BUILD_DIR` changes the output
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "codex-profile",
"version": "1.3.0",
"version": "1.3.1",
"description": "Named Codex CLI profiles with separate local ChatGPT desktop state.",
"license": "MIT",
"homepage": "https://ducksss.github.io/codex-profiles/",
Expand Down
8 changes: 4 additions & 4 deletions packaging/aur/.SRCINFO
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
pkgbase = codex-profile
pkgdesc = Named Codex CLI profiles with separate local ChatGPT desktop state
pkgver = 1.3.0
pkgver = 1.3.1
pkgrel = 1
url = https://github.com/Ducksss/codex-profiles
arch = any
license = MIT
depends = bash
source = codex-profile-1.3.0::https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.0/bin/codex-profile
source = LICENSE-1.3.0::https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.0/LICENSE
sha256sums = d7123645952c4aaf00bd630a8a75a8aadfdf3bbb988c335ada1ff7141f9e15eb
source = codex-profile-1.3.1::https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.1/bin/codex-profile
source = LICENSE-1.3.1::https://raw.githubusercontent.com/Ducksss/codex-profiles/v1.3.1/LICENSE
sha256sums = c602b7ca3d2f0c853e5f8276251f17ae13affab07588d7a60d0b5c1c2ccd5da8
sha256sums = 9ff3b3e5b6a234802d746443539abda82c35d1581a98249b40636dd5acff4364

pkgname = codex-profile
4 changes: 2 additions & 2 deletions packaging/aur/PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Maintainer: Ducksss <https://github.com/Ducksss>
pkgname=codex-profile
pkgver=1.3.0
pkgver=1.3.1
pkgrel=1
pkgdesc="Named Codex CLI profiles with separate local ChatGPT desktop state"
arch=('any')
Expand All @@ -12,7 +12,7 @@ source=(
"LICENSE-$pkgver::https://raw.githubusercontent.com/Ducksss/codex-profiles/v$pkgver/LICENSE"
)
sha256sums=(
'd7123645952c4aaf00bd630a8a75a8aadfdf3bbb988c335ada1ff7141f9e15eb'
'c602b7ca3d2f0c853e5f8276251f17ae13affab07588d7a60d0b5c1c2ccd5da8'
'9ff3b3e5b6a234802d746443539abda82c35d1581a98249b40636dd5acff4364'
)

Expand Down
2 changes: 1 addition & 1 deletion test/packaging/metadata-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ sha256_stream() {
}

version="$(node -p "require('./package.json').version")"
assert_equals "release version" "1.3.0" "$version"
assert_equals "release version" "1.3.1" "$version"
assert_equals "package-lock version" "$version" "$(node -p "require('./package-lock.json').version")"
assert_equals "package-lock root version" "$version" "$(node -p "require('./package-lock.json').packages[''].version")"
assert_equals "CLI version" "$version" "$(sed -n 's/^VERSION="\([^"]*\)"/\1/p' bin/codex-profile | head -n 1)"
Expand Down
Loading