← back to Exo
create config home when checking for config file (#1353)
54b19879a00afffc872a3ffb3e9679fb5cd36fa1 · 2026-02-02 17:36:51 +0000 · Evan Quiney
we didn't check before, raising a critical exception.
now we create ~/.config/exo on linux systems before touching config.toml.
this wasn't caught before since everything lives in ~/.exo on macos, and we no longer write the keypair to CONFIG_HOME, so config.toml has to do init work it avoided before.
Files touched
M src/exo/utils/info_gatherer/info_gatherer.py
Diff
commit 54b19879a00afffc872a3ffb3e9679fb5cd36fa1
Author: Evan Quiney <evanev7@gmail.com>
Date: Mon Feb 2 17:36:51 2026 +0000
create config home when checking for config file (#1353)
we didn't check before, raising a critical exception.
now we create ~/.config/exo on linux systems before touching config.toml.
this wasn't caught before since everything lives in ~/.exo on macos, and we no longer write the keypair to CONFIG_HOME, so config.toml has to do init work it avoided before.
---
src/exo/utils/info_gatherer/info_gatherer.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/exo/utils/info_gatherer/info_gatherer.py b/src/exo/utils/info_gatherer/info_gatherer.py
index 203a8da3..c8fb4e4c 100644
--- a/src/exo/utils/info_gatherer/info_gatherer.py
+++ b/src/exo/utils/info_gatherer/info_gatherer.py
@@ -262,6 +262,7 @@ class NodeConfig(TaggedModel):
@classmethod
async def gather(cls) -> Self | None:
cfg_file = anyio.Path(EXO_CONFIG_FILE)
+ await cfg_file.parent.mkdir(parents=True, exist_ok=True)
await cfg_file.touch(exist_ok=True)
async with await cfg_file.open("rb") as f:
try:
← 19965c7b Ciaran/profiling (#1345)
·
back to Exo
·
fix: handle unclosed tool calls and GLM arg parsing edge cas dfce188d →