MCPcopy Index your code
hub / github.com/codeaashu/claude-code / importGithubToken

Function importGithubToken

src/commands/remote-setup/api.ts:51–100  ·  view source on GitHub ↗
(
  token: RedactedGithubToken,
)

Source from the content-addressed store, hash-verified

49 * clone/push in claude.ai/code works immediately after this succeeds.
50 */
51export async function importGithubToken(
52 token: RedactedGithubToken,
53): Promise<
54 | { ok: true; result: ImportTokenResult }
55 | { ok: false; error: ImportTokenError }
56> {
57 let accessToken: string, orgUUID: string
58 try {
59 ;({ accessToken, orgUUID } = await prepareApiRequest())
60 } catch {
61 return { ok: false, error: { kind: 'not_signed_in' } }
62 }
63
64 const url = `${getOauthConfig().BASE_API_URL}/v1/code/github/import-token`
65 const headers = {
66 ...getOAuthHeaders(accessToken),
67 'anthropic-beta': CCR_BYOC_BETA_HEADER,
68 'x-organization-uuid': orgUUID,
69 }
70
71 try {
72 const response = await axios.post<ImportTokenResult>(
73 url,
74 { token: token.reveal() },
75 { headers, timeout: 15000, validateStatus: () => true },
76 )
77 if (response.status === 200) {
78 return { ok: true, result: response.data }
79 }
80 if (response.status === 400) {
81 return { ok: false, error: { kind: 'invalid_token' } }
82 }
83 if (response.status === 401) {
84 return { ok: false, error: { kind: 'not_signed_in' } }
85 }
86 logForDebugging(`import-token returned ${response.status}`, {
87 level: 'error',
88 })
89 return { ok: false, error: { kind: 'server', status: response.status } }
90 } catch (err) {
91 if (axios.isAxiosError(err)) {
92 // err.config.data would contain the POST body with the raw token.
93 // Do not include it in any log. The error code alone is enough.
94 logForDebugging(`import-token network error: ${err.code ?? 'unknown'}`, {
95 level: 'error',
96 })
97 }
98 return { ok: false, error: { kind: 'network' } }
99 }
100}
101
102async function hasExistingEnvironment(): Promise<boolean> {
103 try {

Callers 1

handleConfirmFunction · 0.85

Calls 5

prepareApiRequestFunction · 0.85
getOauthConfigFunction · 0.85
getOAuthHeadersFunction · 0.85
logForDebuggingFunction · 0.85
revealMethod · 0.80

Tested by

no test coverage detected