Add support for Linux configuration path in get_claude_config_path (#270)

* feat: add support for Linux configuration path in get_claude_config_path

* On Linux use XDG_CONFIG_HOME environment variable and fall back to $HOME/.config

* update Linux config path to include 'Claude' directory

* fix: format

---------

Co-authored-by: David Soria Parra <davidsp@anthropic.com>
This commit is contained in:
Mariusz Woloszyn
2025-03-13 12:46:06 +01:00
committed by GitHub
parent 94d326dbf1
commit 5c9f688d95
2 changed files with 9 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
"""Claude app integration utilities."""
import json
import os
import sys
from pathlib import Path
@@ -17,6 +18,10 @@ def get_claude_config_path() -> Path | None:
path = Path(Path.home(), "AppData", "Roaming", "Claude")
elif sys.platform == "darwin":
path = Path(Path.home(), "Library", "Application Support", "Claude")
elif sys.platform.startswith("linux"):
path = Path(
os.environ.get("XDG_CONFIG_HOME", Path.home() / ".config"), "Claude"
)
else:
return None

View File

@@ -15,7 +15,9 @@ logger = logging.getLogger(__name__)
@asynccontextmanager
async def websocket_client(url: str) -> AsyncGenerator[
async def websocket_client(
url: str,
) -> AsyncGenerator[
tuple[
MemoryObjectReceiveStream[types.JSONRPCMessage | Exception],
MemoryObjectSendStream[types.JSONRPCMessage],
@@ -59,7 +61,7 @@ async def websocket_client(url: str) -> AsyncGenerator[
async def ws_writer():
"""
Reads JSON-RPC messages from write_stream_reader and
Reads JSON-RPC messages from write_stream_reader and
sends them to the server.
"""
async with write_stream_reader: