Skip to content

Commit fd9fb8a

Browse files
committed
Fix trailing newline in API keys causing illegal HTTP headers
Root cause: OpenAI API keys contained trailing newlines (\n), making them illegal HTTP header values. Error: httpcore.LocalProtocolError: Illegal header value b'Bearer sk-proj-...\n' Solution: - Strip newlines and carriage returns from all secret values - Use tr -d '\n\r' to clean environment variables before writing to .env - Prevents python-dotenv from loading keys with embedded newlines This fixes all "Connection error" failures in support agent tests.
1 parent 129774b commit fd9fb8a

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

.github/workflows/ai-config-validation.yml

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -211,24 +211,34 @@ jobs:
211211
MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }}
212212
run: |
213213
# Create .env file for search tools and API access
214+
# Strip any trailing whitespace/newlines from secrets
214215
echo "📝 Creating .env file for search tools and API access..."
215-
printf "OPENAI_API_KEY=%s\n" "$OPENAI_API_KEY" > .env
216-
printf "ANTHROPIC_API_KEY=%s\n" "$ANTHROPIC_API_KEY" >> .env
217-
printf "MISTRAL_API_KEY=%s\n" "$MISTRAL_API_KEY" >> .env
218-
printf "LD_SDK_KEY=%s\n" "$LD_SDK_KEY" >> .env
219-
printf "LD_API_KEY=%s\n" "$LD_API_KEY" >> .env
220-
printf "LD_PROJECT_KEY=%s\n" "$LD_PROJECT_KEY" >> .env
216+
OPENAI_KEY=$(echo "$OPENAI_API_KEY" | tr -d '\n\r')
217+
ANTHROPIC_KEY=$(echo "$ANTHROPIC_API_KEY" | tr -d '\n\r')
218+
MISTRAL_KEY=$(echo "$MISTRAL_API_KEY" | tr -d '\n\r')
219+
LD_SDK=$(echo "$LD_SDK_KEY" | tr -d '\n\r')
220+
LD_API=$(echo "$LD_API_KEY" | tr -d '\n\r')
221+
LD_PROJECT=$(echo "$LD_PROJECT_KEY" | tr -d '\n\r')
222+
223+
{
224+
echo "OPENAI_API_KEY=$OPENAI_KEY"
225+
echo "ANTHROPIC_API_KEY=$ANTHROPIC_KEY"
226+
echo "MISTRAL_API_KEY=$MISTRAL_KEY"
227+
echo "LD_SDK_KEY=$LD_SDK"
228+
echo "LD_API_KEY=$LD_API"
229+
echo "LD_PROJECT_KEY=$LD_PROJECT"
230+
} > .env
221231
echo "✅ Environment file created"
222232
223233
# Verify API keys are set (show first 10 chars only for security)
224234
echo "🔍 Verifying API keys..."
225-
if [ -n "$OPENAI_API_KEY" ]; then
226-
echo " OPENAI_API_KEY: ${OPENAI_API_KEY:0:10}... (${#OPENAI_API_KEY} chars)"
235+
if [ -n "$OPENAI_KEY" ]; then
236+
echo " OPENAI_API_KEY: ${OPENAI_KEY:0:10}... (${#OPENAI_KEY} chars)"
227237
else
228238
echo " ⚠️ OPENAI_API_KEY is empty!"
229239
fi
230-
if [ -n "$ANTHROPIC_API_KEY" ]; then
231-
echo " ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:0:10}... (${#ANTHROPIC_API_KEY} chars)"
240+
if [ -n "$ANTHROPIC_KEY" ]; then
241+
echo " ANTHROPIC_API_KEY: ${ANTHROPIC_KEY:0:10}... (${#ANTHROPIC_KEY} chars)"
232242
else
233243
echo " ⚠️ ANTHROPIC_API_KEY is empty!"
234244
fi

0 commit comments

Comments
 (0)