Skip to content

Releases

Connector Control 1.5.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 23:11

Download: on a Mac, ConnectorControl_1.5.2.dmg; on a Windows PC, ConnectorControl-win-x64-Setup.exe (Intel and AMD) or ConnectorControl-win-arm64-Setup.exe (Arm). Everything else listed below (appcast.xml, the .nupkg packages, releases.*.json) is read by the apps' built-in updaters and never needs downloading.

Both platforms

  • Claude can now add, change or remove some of a connector’s environment variables and leave the others, whose values it never sees, as they are, with a new Change environment tool (set_connector_env). From the command line, connector-control env <name> KEY=value --unset OTHER does the same. Before, Claude had to send back the connector’s whole config, including values it was only ever shown as hidden.
  • When Claude sets a variable to the value it already holds, or sends a connector’s config back unchanged, Connector Control now asks and answers exactly as for a real change, so Claude can’t use the reply to check a guess at a value it can’t see. For a connector Claude runs, this writes Claude’s config again and shows Restart Required. Change connector’s question now lists every environment variable and header Claude sent: a value it shows reads = NAME = value (unchanged) when it didn’t change, and a hidden one reads − and + as a change does. connector-control env and connector-control edit still refuse a command that changes nothing.
  • Claude and the command line can no longer save the hidden placeholder set (or needs value, needs your value, or anything containing •••) over a connector’s real value, such as a bw:// or op:// reference; the change is refused and says what to do instead. Before, sending back a connector as Claude was shown it replaced its secrets with the placeholder, and the confirmation, which hides a secret’s old and new values alike, couldn’t show it. A connector that already holds the placeholder can still be changed; type its real value back in the editor.

Release pipeline

  • The Windows build uses actions/setup-dotnet 6.1.0, up from 6.0.0.

Full changelog: v1.5.1...v1.5.2

Connector Control 1.5.1

Choose a tag to compare

@github-actions github-actions released this 30 Oct 23:42

Download: on a Mac, ConnectorControl_1.5.1.dmg; on a Windows PC, ConnectorControl-win-x64-Setup.exe (Intel and AMD) or ConnectorControl-win-arm64-Setup.exe (Arm). Everything else listed below (appcast.xml, the .nupkg packages, releases.*.json) is read by the apps' built-in updaters and never needs downloading.

macOS

  • Restart Claude no longer says Claude “didn’t quit” when it actually did; Connector Control now reopens it.
  • The JSON editor now supports undo (Cmd-Z) and no longer autocorrects or spell-checks what you type, so commands, arguments and header names stay as written.
  • When you stop publishing a collection and choose Delete for its published file, only that file is deleted. Before, if a folder had been put in the shared folder under that file’s name, it deleted that folder and everything in it.
  • The menu bar icon now has a name for VoiceOver - “Connector Control”, or “Connector Control: Apply Failed - Retry” when an apply is waiting to be retried - and VoiceOver no longer reads the “▾” after the collection name in the popover.
  • A change to a connector that differs only in how an accented letter is written (é as one character, or as e followed by a combining accent) is now written to Claude’s config, as it is on Windows. Before, the Mac counted the two as the same and left Claude’s config as it was.
  • Settings ▸ Claude ▸ Command-Line Tool ▸ Install now refuses while Connector Control is in a folder that can be changed without an administrator, such as ~/Applications or Downloads, and asks you to move it to Applications. The link it makes in /usr/local/bin is on every account’s PATH, so before, another account running connector-control could run a tool any account could change; now only an administrator can.
  • A master list file (mcps.json) with a trailing comma, nested more than 64 levels deep, or saved as UTF-16 or UTF-32 is now treated as unreadable, as on Windows: it’s kept aside and replaced, as any unreadable master list is. Before, the Mac read such a file while Windows, which can share it through a synced Master List Location, could not. Claude’s own config was already read this way.
  • Removing old backups no longer deletes a folder in the backups folder that’s named like a backup, with everything in it; only backup files are counted and removed, as on Windows.

Windows

  • Pressing Escape to close the editor’s Authentication drop-down now closes just the drop-down; before, it closed the whole editor and lost your unsaved changes. Escape in the flyout’s collection menu likewise closes only the menu. With nothing open, Escape still cancels the editor and dismisses the flyout.
  • Check for Updates now reads “Checking…” and can’t be clicked while a check runs, instead of looking as if nothing happened. After Install and Relaunch, the update dialog stays open reading “Downloading…” until Connector Control relaunches, instead of the app just vanishing, and its Later button reads Cancel, which stops the download and takes the dialog back to Install and Relaunch or Later. A download or relaunch that fails now closes the dialog and says “Couldn’t install the update.” rather than “Couldn’t check for updates.”
  • Narrator now names the flyout’s Restart Claude button and the collection switcher (with its waiting update), the Settings backup − and + buttons (which also dim at 5 and 100) and the Name field in New Collection, Rename and Duplicate. Each Use Default and Choose… button in Settings now says which row it belongs to.
  • The Settings tabs now show their icons - a gear for General, a drive for Storage, and Claude’s own icon, or a generic app icon where Claude’s can’t be read - instead of an empty space before each name. Claude’s icon is now sharp at 150% and 200% scaling.
  • The Publish and Export dialogs now fit on a short screen, including a second screen shorter than the main one: when there isn’t room, the preview gets shorter so the Publish, Export and Cancel buttons stay visible.
  • Start Publishing into a folder that already holds a folder with the collection’s document name (such as work.json) now says that name is taken, as the Mac does, instead of failing with a file-system error.
  • Connector Control now refuses an update when it can’t read its own installed version. Before, the checks that keep a preview off a release install and stop a downgrade were skipped in that case, and only the update feed kept them out.
  • An update is now installed only if the launcher it puts beside Connector Control’s updater is a program signed by Connector Control’s own publisher, as the app and its updater already had to be.
  • When an update is refused and the updater it brought can’t be removed (for example, because a virus scanner is holding it), the message now says so, and says whether Connector Control will put its own updater back the next time it starts or whether you need to reinstall. Before, it gave only the reason for the refusal.
  • The first update check after launch now waits for Connector Control to finish restoring an updater left behind by an earlier, interrupted update. Before, the two could overlap, and the check could fail for no real reason.
  • Two connectors in a collection can no longer have names that differ only in how an accented letter is written (é as one character, or as e followed by a combining accent): the second is refused as a name already in use, as on the Mac, and Claude’s config naming a connector in the other spelling is read as that connector. Before, Windows kept both, and Claude’s config then named one connector twice, which Connector Control refused to read back.
  • A new, copied, renamed or subscribed collection can no longer take a name that differs from another collection’s only in how an accented letter is written, as on the Mac. Before, Windows kept both, and a Mac sharing the same master list kept only one of them and dropped the other.
  • With UAC turned off, or on the built-in Administrator account, the command-line tool and Claude now start Connector Control when it isn’t running, as they do everywhere else. Before, they started nothing there, and you had to open Connector Control first. A terminal opened with Run as administrator still starts nothing, since the app it started would be out of reach of everything else you run.

Both platforms

  • Screen readers now name each row in the Publish sheet and the editor’s environment list: the share and path ticks and the hint boxes say which connector and variable they belong to, and each environment row’s name, value and delete button, and each argument’s delete button, carry the row’s number, instead of every row sounding the same. The Publish sheet’s Forget Mark, Release and Use ${COLLECTION_DIR} buttons now say which connector and path they act on.
  • The Publish sheet no longer offers plain words such as usr or tmp as machine-specific paths. Which arguments it offers now depends only on how they’re written (a full path, . or .., or one that starts with ~, ./, ../ or \\, such as \\server\share\server.js, whether or not the share can be reached right now), not on how Connector Control happened to be started. On the Mac a network path was never offered.
  • Saving a connector with “Also apply this change to …” ticked now writes your connector list and takes a backup once, instead of once per collection. The in-between states no longer use up backup slots and push older history out.
  • Commands that ask for something before they act now end in “…”, as Choose… and Restore… in Settings already did. New Collection, Rename, Duplicate, Make Local Copy, Import, Subscribe, Start Publishing, Publishing Settings, Export, Export All, Choose Folder, Locate and Review & Apply now read that way; commands that act at once, or only ask you to confirm, keep their plain names.
  • Claude no longer sees a secret in a few argument shapes that used to slip past the masking: a header written as X-Api-Key: … after a flag Connector Control doesn’t know, admin:password after -u, --user or --proxy-user or before an @ with no https://, JSON-like config that isn’t strict JSON ({apiKey: '…'} or {env: {…}}), a shell default such as ${DB_PASSWORD:-…}, the rest of a value written with \ for a space, and env or headers spelt with capitals or as envs. Ordinary values still show as written: ones that start with a bracket, such as [::1], {src,lib} or [default], and ones such as keycloak:8080, token:read or Docker’s -v secrets:/run/secrets.
  • When Claude or the command-line tool tries to add, change or delete a connector in a subscribed collection, the refusal now names the collection and says what to do instead (add the connector to a local collection, or make a local copy with Make Local Copy to change it), rather than repeating a window tooltip.
  • Copy to now confirms a copy: the count under the collection’s name adds, for example, “Copied 2 connectors to “Work”” until you tick a row, run another command in the window or choose another collection. Before, the ticks just cleared and nothing said where the copies went.
  • After you pick a Claude app in Settings ▸ Claude (on Windows, its launch target), the row now reads “Checking…” and Choose… is dimmed while its signature is verified, which can take a few seconds. Before, nothing changed on screen until the check finished, and a second click started a second check.
  • Messages, tooltips and help text use a hyphen where they used an em-dash.
  • When Claude or the command-line tool asks for a tool Connector Control doesn’t have, the answer now reads “There’s no tool named “…”.”, in the app’s own words and with the name shown safely, instead of a bare “Unknown tool: …”.
  • connector-control collection with no subcommand now lists the four it takes (new, rename, duplicate, delete), and a wrong one says it isn’t a collection command, instead of saying there is no command named “collection”. `connector-control help sta...
Read more

Connector Control 1.5.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 15:35

Download: on a Mac, ConnectorControl_1.5.0.dmg; on a Windows PC, ConnectorControl-win-x64-Setup.exe (Intel and AMD) or ConnectorControl-win-arm64-Setup.exe (Arm). Everything else listed below (appcast.xml, the .nupkg packages, releases.*.json) is read by the apps' built-in updaters and never needs downloading.

macOS

  • The command-line tool is inside the app, at Contents/MacOS/connector-control, and updates
    with it. Remove, beside Install, takes the /usr/local/bin link away again. A folder Install has
    to make there is one only an administrator can write to, whatever the machine's umask.
  • Before you delete the app, turn off "Let Claude manage Connector Control" and Remove the
    command-line tool. Otherwise Claude keeps a connector-control connector whose tool is gone and
    shows it as failed, until you remove its entry from claude_desktop_config.json by hand. The
    Windows uninstaller does both for you.
  • A preview install updates itself to each later preview and then to the final release, as on
    Windows; see Release pipeline for the one step to take by hand.
  • Sparkle, the updater, is 2.10.1, up from 2.10.0.
  • Claude's config, or a backup of it, is read as the Windows app reads it: one with a trailing
    comma, saved as UTF-16 or UTF-32, or nested more than 64 levels deep is reported as not valid
    JSON. Before, the Mac read it as if it were valid.

Windows

  • The command-line tool is copied to %LOCALAPPDATA%\Connector Control\bin\ each time the app
    starts, and Claude's entry and your PATH use that copy, so an update never stops a relay Claude
    is running. Install adds that folder to the end of your user PATH and leaves every other entry
    exactly as written. It refuses while the copy is missing, and a PATH the registry holds as
    anything but text is left as it is.
  • Uninstalling takes Connector Control's entry out of Claude's config, after a backup, deletes
    bin\ and takes that folder out of your user PATH. It holds the app's single-instance lock
    meanwhile, so an app Claude starts during the uninstall can't put the entry back.
  • An app the command-line tool or Claude's relay starts gets the PATH you get at sign-in, not the
    terminal's or Claude's, and none of their CONNECTOR_CONTROL_ variables, so it finds the same
    npx and uvx however it was started.
  • A program that took the app's pipe name first, under another account, learns who connected to
    it and nothing more; it can't act as you.
  • An update is installed only when the programs that must be Connector Control's own are signed
    by a certificate with the running app's whole subject, not merely its organization, and a
    certificate known to be revoked is refused. When the revocation servers can't be reached the
    update still installs, and crash.log says so once.
  • An update package is accepted only as exactly the version the update feed names, preview label
    included, so a signed earlier preview can't be passed off as a later one or as the release.
  • An update package the check can't finish, or one holding a file name Windows can't hold, is
    refused and deleted, and nothing the check didn't pass is applied when the app next starts.
    Before, such a package could be applied at the next launch. An update check cut short by
    quitting the app no longer leaves every later update refused: the app puts the installed updater
    back when it starts and before each check, and keeps its saved copy until that has worked.
  • A release install takes only releases: a signed preview package is refused even if a feed
    offers it.
  • The update dialog shows an image in the release notes as its text and loads nothing. Before, it
    fetched the image, from a network share too.
  • The command interpreter and File Explorer are started by full path, from System32 and the
    Windows folder, so a cmd.exe or explorer.exe placed beside the app never runs in their place.
  • The installer and the updater are Velopack 1.2.161, up from 1.2.158.

Both platforms

  • Claude integration, off until you turn it on: Connector Control can add a connector of its own,
    connector-control, to Claude's config, so Claude can list, switch and edit your connectors. The
    popover or flyout offers it once; the switch is in Settings ▸ Claude, where "Confirm changes Claude
    makes" is on by default.
  • While that is on, Connector Control asks you before Claude adds, edits or deletes a connector,
    deletes a collection, imports, subscribes, applies an update or restores a backup, with Don't
    Allow the default; it always asks before Claude restarts itself. Turning a connector on or off and
    switching collections don't ask: a notification says what changed, as one does for every change
    Claude makes while confirmations are off.
  • Only you can change the Claude integration, the confirmation, the notice of changes synced in
    from another machine, and automatic updates, in Settings or with the command-line tool; Claude
    can change the other settings.
  • The connector-control command-line tool ships inside the app on both platforms, for scripts and
    MDM; connector-control help lists its commands. Settings ▸ Claude ▸ Command-Line Tool puts it in
    your PATH: on a Mac a link in /usr/local/bin, with an administrator prompt when that folder isn't
    yours; on Windows the tool's folder in your user PATH, which terminals opened afterwards see.
  • If the active collection already holds a connector named connector-control, it keeps working,
    and the integration's switch is dimmed with "A connector named “connector-control” already
    exists. Rename it to turn this on." No other connector can take that name.
  • Run the command-line tool as yourself. Under sudo, or in an elevated terminal on Windows, it
    starts nothing and says "Run connector-control without administrator rights: Connector Control
    runs as you, and an elevated copy can’t reach it." On Windows with the built-in Administrator
    account or UAC turned off, open Connector Control first, and the tool reaches it.
  • A change Claude asked about is applied from exactly the file you were shown, even if the file
    changes in the moment after you click Allow; if it changed while the question was open, nothing
    is done and Claude is told to ask again.
  • The Import and Restore sheets land the file you reviewed. Before, Import read the document again
    when you clicked it, and Restore read the backup only once you had confirmed, so a file
    rewritten in between landed unseen.
  • A restore writes the backup as Connector Control read it, in the format every apply writes, and
    refuses a backup that lists the same name twice, which Connector Control and Claude would read
    differently. Before, it copied the backup byte for byte.
  • A file that isn't valid JSON — Claude's config, a backup or a collection document — is reported
    in the same words on both platforms, and the message quotes nothing from the file.
  • A setting changed with connector-control settings set shows at once in a Settings window that
    is already open.
  • A collection file over 1 MB, a backup over 16 MB, or anything that isn't a regular file is
    refused as it is read, so a file swapped for a huge one can't stall the app.
  • In the confirmation dialog each line of what would run is drawn on its own, clipped to its own
    height, so nothing in one line can draw over another, and it is selected and copied one line at a
    time. The block is one stop for Tab, and Up, Down, Page Up and Page Down move through its lines.
    Up to two accent marks per letter are drawn, so Thai, Vietnamese, pointed Hebrew and Arabic read
    as written; a third or later one, or one with no letter, shows as its code.
  • A character that draws nothing shows as its code, so a name or variable that only gained one
    doesn't read as unchanged, and right-to-left letters in a line can't reorder the arguments
    around them.
  • A name too long for a dialog keeps its start and its end around the "…", so long names that
    share a start still read apart. The name an MCP client gives itself is cut the same way, so it
    can't push what the client did out of a notification.
  • Environment variables that name a program to run, such as GIT_ASKPASS, GIT_SSH_COMMAND,
    NODE_OPTIONS and LD_PRELOAD, always show in full in the dialog, though their names may look like
    a secret's, so you see what would run before you allow it. Claude still reads only that they are
    set.
  • Claude never reads a secret packed into one argument: a whole shell line (bash -c, cmd /c),
    JSON passed as an argument, a URL password holding # ? or /, a header in any bridge's form, the
    token after Bearer, and text written against a ${CC_NEEDS:…} placeholder all read as •••. A
    whole command line in one argument that holds a URL with a query reads as ••• in full.
  • Claude's connection keeps working after Connector Control restarts, and its relay always ends
    once Claude closes it, whatever calls Claude cancelled on the way.
  • Settings reads the same way everywhere: each row says what it is on the left, with a one-line note
    under it, and has its control on the right; every group has a heading, and every on/off setting
    is a switch. A missing tool's row stays one line, and how to install it is under the Tools box.

Release pipeline

  • Mac previews now update themselves, as Windows previews do: a preview build reads its own
    Sparkle feed (the preview-feed prerelease), which every published preview and every stable
    release replaces, never with an older build, so a preview install is offered each later
    preview and then the final release. Previews up to preview-9 still read the stable feed;
    install the first preview after preview-9 once by hand.
  • The preview feed moves only to a build newer than every published preview and release, read
    from their own appcasts, and a served feed newer than all of them fails the run, so a planted
    feed can't stop preview updates while CI stays green.
  • A preview's update...
Read more

Preview update feed

Preview update feed Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Oct 18:01
0d31d74

Not a download. This prerelease holds appcast.xml, the update feed that Connector Control's Mac preview builds check for new versions. Every preview and every stable release replaces it. For a preview, see the numbered preview-<n> releases; for the app itself, the latest release. The source archives GitHub lists here are not a build of anything.

Connector Control 1.4.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 18:09

Download: on a Mac, ConnectorControl_1.4.0.dmg; on a Windows PC, ConnectorControl-win-x64-Setup.exe (Intel and AMD) or ConnectorControl-win-arm64-Setup.exe (Arm). Everything else listed below (appcast.xml, the .nupkg packages, releases.*.json) is read by the apps' built-in updaters and never needs downloading.

macOS

  • Opening a connector whose editor is already open brings that editor forward even if the
    connector was switched on or off in the meantime, rather than opening a second editor for
    it, as on Windows.
  • Escape cancels every sheet in the Collections window, and the connector editor, as their
    Cancel buttons do.
  • A connector editor left open in 1.3 that macOS reopens after the upgrade closes itself,
    rather than stand empty: it cannot say which collection it was editing.
  • In the Collections window, a click on a connector's tick or row no longer leaves the focus
    ring around its box. The ring shows only when the keyboard moves focus to a row (Tab into
    the list, or Up and Down), as the Windows row's focus rectangle does.
  • The app updates itself with Sparkle 2.10.0, up from 2.9.6, and the release's update feed is
    signed with the Sparkle 2.10.0 tools to match.

Windows

  • The connector editor and the Collections window's dialogs open with the keyboard in their
    first text field, as on the Mac: the connector's name in the editor, the new collection's
    name in Subscribe.
  • In the Collections window, Return on a collection in the sidebar makes it the active one,
    as a double-click does and as it already did on the Mac.
  • Connectors arriving from a shared collection go through the same check as ones typed
    into the editor: a Server URL, header name, client ID or client secret containing
    & | < > ^ " or a space, or scopes containing any of those characters other than a
    space, is refused, because Claude Desktop hands the cmd /c npx launcher's arguments
    to cmd.exe unescaped. The Import sheet lists such a connector as skipped and names the
    field, and it stays out of the import and of later updates. A Mac writes bare npx,
    so the same document imports whole there.
  • A connector launched through the command shell that uses ${COLLECTION_DIR} is
    cautioned when the folder that token stands for holds & | < > ^ " or a space, as an
    ordinary Windows folder name may: cmd.exe would read those as commands.
  • The installer, the updater and the small launcher beside the app are built for the PC's
    own processor, so an Arm PC runs them natively instead of under x86 emulation. They
    come from Velopack 1.2.158, up from 1.2.0, and the app's update code moves with them.

Both platforms

  • New Collection, under the Collections window's sidebar +, makes an empty collection and
    leaves the active one as it was, so Claude's config is not touched. Before, it copied the
    active collection's connectors and switched to the copy. Add connectors with the list's +,
    then make the new collection active once it holds what you want.
  • "Delete" is the one word for deleting: the selection bar's button and its question
    ("Delete “”?", "Delete 3 connectors?"), the published-file question and its
    button, the editor's Delete argument and Delete variable, "was deleted outside this
    editor", the Review sheet's Deleted group and the "deletes …" in a change summary
    all say Delete where they said Remove.
  • In "Also delete from the folder?", asked by Stop Publishing and by Delete of a
    published collection, Return and Escape both answer Keep. Delete, shown as the
    destructive answer, needs a click; before, Return deleted the file, and on the Mac
    Escape did nothing.
  • In the Collections window, clicking a connector's row opens its editor, and the
    pencil at the end of the row is gone, so what the connector runs has the room. A click
    on or beside a row's tick ticks it instead. The rows highlight under the pointer, and
    from the keyboard the arrow keys move between them, Return opens the editor and Space
    ticks.
  • Profiles are now collections. Every profile you had is a collection with the same name
    and connectors, and the master list file is unchanged.
  • Export writes a collection, or the connectors you tick, as a document. Import brings
    one in as copies into a collection of your own, and Subscribe keeps it as a read-only
    collection that follows the file. The Import sheet (a dialog on Windows, as every
    sheet named here is) says what will happen to each connector before anything does; a
    file it cannot read shows why, with no Import button.
  • An imported name that is already taken can replace the old connector, keeping the
    secrets and paths you filled in, land beside it as <name> 2, or be left out. Copies
    arrive switched off, and the editor names the collection each came from and the day it
    arrived.
  • A subscribed collection is read-only apart from your secrets, your paths and which
    connectors are on: its rows show a lock, the editor opens locked and says what you can
    change, and Add Connector is disabled. If the author changes or deletes a connector
    while its editor is open, Save refuses and says which, rather than write the old
    version back. Make Local Copy takes the whole collection into one of your own.
  • A change at a subscribed collection's source arrives for review: Review & Apply shows the
    before and after of every connector, nothing lands until you apply it, and your filled
    values survive. Refresh re-reads at once, Locate finds the file on a new machine, and
    Stop Syncing makes the collection yours, after asking.
  • A placeholder is a value a document asks each machine for; a connector waiting on one
    says "needs your value" or "needs your path", with the author's hint.
    ${COLLECTION_DIR} is the document's folder: where a subscribed collection found it, or
    the publish folder on the publishing machine. In a local collection this machine does
    not publish, the connector's row says it has no folder.
  • Start Publishing writes a local collection's document to a folder in a repository or
    synced drive and rewrites it whenever what the collection runs changes; turning a
    connector on or off never republishes. Publishing Settings changes what a published
    collection shares. Deleting a published collection, or Stop Publishing in the
    Collections window, asks whether to delete the document too; Keep is the default.
  • The Publish sheet lists every environment value, which travels as a hint unless you
    tick share value, and every argument that looks like a path on this machine, which
    travels as written unless you tick it to become a placeholder. The token, header value
    or client secret in a remote connector's Authentication fields always travels as a
    placeholder, and a preview shows every byte before it leaves, flagging any argument or
    shared value that looks like a credential, a header or URL query or fragment parameter
    named like a secret or holding one, a URL parameter whose name is itself a token, a URL
    path segment that looks like a key, and a URL with a user name or password in it. A
    value that only refers to a credential kept elsewhere (Bearer ${API_TOKEN},
    Bearer $API_TOKEN with the name in capitals, a placeholder) "refers to a credential",
    and a URL user with no password "names a user"; either one later given the credential
    itself waits for review. Each URL path segment and bare parameter is a line of its own,
    so a new one that looks like a key waits for review too.
    A header passed as an argument is read as a header, with or without a space after the
    colon (Authorization:Bearer …), so mcp-remote's --header "Authorization:${AUTH}"
    reads "refers to a credential".
  • The sheet also lists every mark it could not place and every path this machine keeps
    back that the document would otherwise carry as written, a copy of a ticked path in any
    field included, all at once, each with its connector and field; Publish and Export wait
    until every one is ticked where it now sits, forgotten or released. The folder a
    collection publishes into never travels: Use ${COLLECTION_DIR} answers it by rewriting
    the connector.
  • A path marked on your other machine, in a collection published from there, is kept back
    from every collection this machine publishes, and stays kept back once that machine drops
    the mark, stops publishing the collection or deletes it, even when the change arrives
    while this machine is off. Release it in this machine's Publish sheet to let it travel.
  • A path you marked stays kept back until you release it, even after you forget its mark
    (Forget Mark takes the mark off the record, not the path off this machine's list), or
    the argument or the connector that held it is deleted and the sheet is published again
    with no row for it: put back later, it is refused and listed in the sheet. Before, that
    Publish forgot it, so the path travelled as written once it came back.
  • A Release belongs to the collection it was given in. A collection made later under a
    deleted one's name, or renamed onto it, no longer inherits it: its sheet lists the path
    and Release answers it there. Before, the path travelled in the new collection unlisted.
  • A publish that fails says so on the collection banner, with Choose Folder and Stop
    Publishing, and pressing Publish again retries the write at once. The banner goes if the
    collection stops publishing, or is deleted, on your other machine. A path marked for
    others to supply survives added, deleted or reordered arguments, an in-place
    correction and a connector rename; if the app can no longer place it, or the document
    would carry a kept-back path or the publish folder in another connector, publishing
    stops rather than write it, the document already in the folder is left as it was, and
    the banner names the connector to open Publishing Settings for.
  • A publish that happens on its own no longer sends a connector you...
Read more

Connector Control 1.3.3

Choose a tag to compare

@github-actions github-actions released this 11 Sep 20:51

Download: on a Mac, ConnectorControl_1.3.3.dmg; on a Windows PC, ConnectorControl-win-x64-Setup.exe (Intel and AMD) or ConnectorControl-win-arm64-Setup.exe (Arm). Everything else listed below (appcast.xml, the .nupkg packages, releases.*.json) is read by the apps' built-in updaters and never needs downloading.

macOS

  • The one-time permissions repair no longer records itself done when every repair
    failed; it retries at the next launch. It is tracked by a version number now, so an
    upgraded install runs it once more.
  • The Restore… sheet reports a failure to list backups instead of showing an empty list.
  • Repointing the master list to a folder that cannot be written keeps the current
    location and reports the failure instead of switching to an empty list.
  • Deleting the folder that holds Claude's config or the connector list no longer
    leaves the file watcher stuck; it recovers when the folder reappears.
  • An empty CONNECTOR_CONTROL_CLAUDE_CONFIG or CONNECTOR_CONTROL_STORE_DIR
    variable, or an empty stored master-list path, now counts as unset.
  • The migration from the pre-1.0 app names is gone; no released build ever needed it.

Windows

  • Updates are offered, not installed silently, matching the Mac; the switch under
    Settings ▸ General ▸ Updates turns automatic installation back on.
  • A Claude config reached through a symlink is written through to the real file
    instead of being replaced by a plain copy.
  • The editor clears a bearer token, header or OAuth client secret when a JSON edit
    switches the auth type, instead of keeping it behind the new one.
  • The Settings window no longer stalls while the Claude tab's icon loads or while a
    chosen launch target is verified.
  • Previews of a connector's extra fields no longer show escaped slashes.
  • Repointing the master list to a folder that refuses the write keeps the current
    location and reports the failure.
  • A failed settings save shows in the flyout banner instead of passing silently.
  • The one-time owner-only permissions repair is tracked by a version number; an
    upgraded install runs it once more.
  • The tray icon is now the same plug as the Mac's menu bar icon, prongs to the right
    and cable to the left; it used to stand upright.
  • A JSON object with a duplicate key now keeps the first value, matching the Mac; it
    used to keep the last.
  • A declined update is no longer offered again by the background check; a manual
    check still offers it.

Both platforms

  • A stale backup that cannot be deleted no longer fails the save; it is retried at
    the next rotation.
  • The messages for a Claude app that is not found, or not signed by Anthropic, end
    with the same sentence on both platforms.
  • The error for an unparseable backup names the parser's complaint.

Release pipeline

  • The Windows build no longer downloads the previous release or builds a delta
    package; no client has applied one since v1.3.2.
  • The smoke test asks the installed app to verify its own package with the code the
    updater runs, instead of re-implementing the publisher policy in PowerShell.
  • The release and preview workflows share one secrets gate and one set of publish
    scripts; a new lint workflow checks every workflow and the scripts they call on push;
    the Mac CI build also produces the DMG. vpk is pinned in a tool manifest that
    Dependabot tracks.

Full changelog: v1.3.2...v1.3.3

Connector Control 1.2.3

Choose a tag to compare

@github-actions github-actions released this 26 Aug 22:28

Reliability release: fixes from a full code review of 1.1.4–1.2.2.

  • Environment variable editing no longer silently alters data: a value
    without a name blocks saving instead of vanishing, variable names are
    preserved exactly as written (no more surprise whitespace trimming), and
    switching to the JSON view enforces the same duplicate-name validation as
    Save.
  • Notifications are truthful and complete: no "config regenerated" banner
    when the write actually failed (a failure now gets its own banner, once),
    a synced change that can't be applied is announced instead of silent, and
    banners now show even while Connector Control is the active app.
  • Update feed hardening: version numbers (not build counters) order updates,
    and prerelease tags can no longer reach the auto-update feed.
  • Deleting or breaking the connector-list file mid-session can no longer
    wipe Claude's config — the app restores its own list instead.
  • Backup ordering is immune to daylight-saving clock rollbacks (timestamps
    are now UTC).

Full changelog: v1.2.2...v1.2.3

Connector Control 1.1.9

Choose a tag to compare

@github-actions github-actions released this 26 Aug 20:23

Full Changelog: v1.1.8...v1.1.9