FWIW I am using the minimal config suggested in your docs.
The token is successfully created on github.
It might be a ghub error, but I'm using magithub and I don't know the code.
Backtrace:
Debugger entered--Lisp error: (void-function nil)
nil()
funcall(nil)
(progn (funcall save) (auth-source-forget (list :host host :user user)) token)
(let* ((--cl-rest-- (ghub--auth-source-get (list :save-function :secret) :create t :host host :user user :secret (cdr (assq 'token (ghub-post "/authorizations" `((scopes \, scopes) (note \, (ghub--ident-github package))) :username username :auth 'basic :host host))))) (save (if (= (length --cl-rest--) 2) (pop --cl-rest--) (signal 'wrong-number-of-arguments (list nil (length --cl-rest--))))) (token (car --cl-rest--))) (progn (funcall save) (auth-source-forget (list :host host :user user)) token))
(cl-destructuring-bind (save token) (ghub--auth-source-get (list :save-function :secret) :create t :host host :user user :secret (cdr (assq 'token (ghub-post "/authorizations" `((scopes \, scopes) (note \, (ghub--ident-github package))) :username username :auth 'basic :host host)))) (funcall save) (auth-source-forget (list :host host :user user)) token)
(let ((user (ghub--ident username package))) (cl-destructuring-bind (save token) (ghub--auth-source-get (list :save-function :secret) :create t :host host :user user :secret (cdr (assq 'token (ghub-post "/authorizations" `((scopes \, scopes) (note \, (ghub--ident-github package))) :username username :auth 'basic :host host)))) (funcall save) (auth-source-forget (list :host host :user user)) token))
ghub-create-token("api.github.com" "emacswatcher" magithub (repo user notifications))
ghub--confirm-create-token("api.github.com" "emacswatcher" magithub)
ghub--token("api.github.com" "emacswatcher" magithub nil nil)
ghub--auth("api.github.com" magithub "emacswatcher" nil)
#f(compiled-function () #<bytecode>)()
ghub--retrieve(nil #s(ghub--req :url #s(url :type "https" :user nil :password nil :host "api.github.com" :portspec nil :filename "/repos/emacswatcher/yasnippet-backsolve" :target nil :attributes nil :fullness t :silent nil :use-cookies t) :silent nil :method "GET" :headers #f(compiled-function () #<bytecode>) :unpaginate nil :noerror nil :reader nil :callback nil :errorback nil :value nil :extra nil))
#f(compiled-function (arg1 arg2 &rest rest) "Make a request for RESOURCE and return the response body.\n\nAlso place the response header in `ghub-response-headers'.\n\nMETHOD is the http method, given as a string.\nRESOURCE is the resource to access, given as a string beginning\n with a slash.\n\nPARAMS, QUERY, PAYLOAD and HEADERS are alists used to specify\n data. The Github API documentation is vague on how data has\n to be transmitted and for a particular resource usually just\n talks about \"parameters\". Generally speaking when the METHOD\n is \"HEAD\" or \"GET\", then they have to be transmitted as a\n query, otherwise as a payload.\nUse PARAMS to automatically transmit like QUERY or PAYLOAD would\n depending on METHOD.\nUse QUERY to explicitly transmit data as a query.\nUse PAYLOAD to explicitly transmit data as a payload.\n Instead of an alist, PAYLOAD may also be a string, in which\n case it gets encoded as UTF-8 but is otherwise transmitted as-is.\nUse HEADERS for those rare resources that require that the data\n is transmitted as headers instead of as a query or payload.\n When that is the case, then the API documentation usually\n mentions it explicitly.\n\nIf SILENT is non-nil, then don't message progress reports and\n the like.\n\nIf UNPAGINATE is t, then make as many requests as necessary to\n get all values. If UNPAGINATE is a natural number, then get\n at most that many pages. For any other non-nil value raise\n an error.\nIf NOERROR is non-nil, then do not raise an error if the request\n fails and return nil instead. If NOERROR is `return', then\n return the error payload instead of nil.\nIf READER is non-nil, then it is used to read and return from the\n response buffer. The default is `ghub--read-json-payload'.\n For the very few resources that do not return json, you might\n want to use `ghub--decode-payload'.\n\nIf USERNAME is non-nil, then make a request on behalf of that\n user. It is better to specify the user using the Git variable\n `github.user' for \"api.github.com\", or `github.HOST.user' if\n connecting to a Github Enterprise instance.\n\nEach package that uses `ghub' should use its own token. If AUTH\n is nil, then the generic `ghub' token is used instead. This\n is only acceptable for personal utilities. A packages that\n is distributed to other users should always use this argument\n to identify itself, using a symbol matching its name.\n\n Package authors who find this inconvenient should write a\n wrapper around this function and possibly for the method\n specific functions also.\n\n Some symbols have a special meaning. `none' means to make an\n unauthorized request. `basic' means to make a password based\n request. If the value is a string, then it is assumed to be\n a valid token. `basic' and an explicit token string are only\n intended for internal and debugging uses.\n\n If AUTH is a package symbol, then the scopes are specified\n using the variable `AUTH-github-token-scopes'. It is an error\n if that is not specified. See `ghub-github-token-scopes' for\n an example.\n\nIf HOST is non-nil, then connect to that Github instance. This\n defaults to \"api.github.com\". When a repository is connected\n to a Github Enterprise instance, then it is better to specify\n that using the Git variable `github.host' instead of using this\n argument.\n\nIf FORGE is `gitlab', then connect to Gitlab.com or, depending\n on HOST to another Gitlab instance. This is only intended for\n internal use. Instead of using this argument you should use\n function `glab-request' and other `glab-*' functions.\n\nIf CALLBACK and/or ERRORBACK is non-nil, then make one or more\n asynchronous requests and call CALLBACK or ERRORBACK when\n finished. If an error occurred, then call ERRORBACK, or if\n that is nil, then CALLBACK. When no error occurred then call\n CALLBACK. When making asynchronous requests, then no errors\n are signaled, regardless of the value of NOERROR.\n\nBoth callbacks are called with four arguments.\n 1. For CALLBACK, the combined value of the retrieved pages.\n For ERRORBACk, the error that occured when retrieving the\n last page.\n 2. The headers of the last page as an alist.\n 3. Status information provided by `url-retrieve'. Its `:error'\n property holds the same information as ERRORBACK's first\n argument.\n 4. A `ghub--req' struct, which can be passed to `ghub-continue'\n (which see) to retrieve the next page, if any." #<bytecode>)("GET" "/repos/emacswatcher/yasnippet-backsolve" nil :query nil :payload nil :unpaginate nil :headers nil :username nil :auth magithub :host nil)
apply(#f(compiled-function (arg1 arg2 &rest rest) "Make a request for RESOURCE and return the response body.\n\nAlso place the response header in `ghub-response-headers'.\n\nMETHOD is the http method, given as a string.\nRESOURCE is the resource to access, given as a string beginning\n with a slash.\n\nPARAMS, QUERY, PAYLOAD and HEADERS are alists used to specify\n data. The Github API documentation is vague on how data has\n to be transmitted and for a particular resource usually just\n talks about \"parameters\". Generally speaking when the METHOD\n is \"HEAD\" or \"GET\", then they have to be transmitted as a\n query, otherwise as a payload.\nUse PARAMS to automatically transmit like QUERY or PAYLOAD would\n depending on METHOD.\nUse QUERY to explicitly transmit data as a query.\nUse PAYLOAD to explicitly transmit data as a payload.\n Instead of an alist, PAYLOAD may also be a string, in which\n case it gets encoded as UTF-8 but is otherwise transmitted as-is.\nUse HEADERS for those rare resources that require that the data\n is transmitted as headers instead of as a query or payload.\n When that is the case, then the API documentation usually\n mentions it explicitly.\n\nIf SILENT is non-nil, then don't message progress reports and\n the like.\n\nIf UNPAGINATE is t, then make as many requests as necessary to\n get all values. If UNPAGINATE is a natural number, then get\n at most that many pages. For any other non-nil value raise\n an error.\nIf NOERROR is non-nil, then do not raise an error if the request\n fails and return nil instead. If NOERROR is `return', then\n return the error payload instead of nil.\nIf READER is non-nil, then it is used to read and return from the\n response buffer. The default is `ghub--read-json-payload'.\n For the very few resources that do not return json, you might\n want to use `ghub--decode-payload'.\n\nIf USERNAME is non-nil, then make a request on behalf of that\n user. It is better to specify the user using the Git variable\n `github.user' for \"api.github.com\", or `github.HOST.user' if\n connecting to a Github Enterprise instance.\n\nEach package that uses `ghub' should use its own token. If AUTH\n is nil, then the generic `ghub' token is used instead. This\n is only acceptable for personal utilities. A packages that\n is distributed to other users should always use this argument\n to identify itself, using a symbol matching its name.\n\n Package authors who find this inconvenient should write a\n wrapper around this function and possibly for the method\n specific functions also.\n\n Some symbols have a special meaning. `none' means to make an\n unauthorized request. `basic' means to make a password based\n request. If the value is a string, then it is assumed to be\n a valid token. `basic' and an explicit token string are only\n intended for internal and debugging uses.\n\n If AUTH is a package symbol, then the scopes are specified\n using the variable `AUTH-github-token-scopes'. It is an error\n if that is not specified. See `ghub-github-token-scopes' for\n an example.\n\nIf HOST is non-nil, then connect to that Github instance. This\n defaults to \"api.github.com\". When a repository is connected\n to a Github Enterprise instance, then it is better to specify\n that using the Git variable `github.host' instead of using this\n argument.\n\nIf FORGE is `gitlab', then connect to Gitlab.com or, depending\n on HOST to another Gitlab instance. This is only intended for\n internal use. Instead of using this argument you should use\n function `glab-request' and other `glab-*' functions.\n\nIf CALLBACK and/or ERRORBACK is non-nil, then make one or more\n asynchronous requests and call CALLBACK or ERRORBACK when\n finished. If an error occurred, then call ERRORBACK, or if\n that is nil, then CALLBACK. When no error occurred then call\n CALLBACK. When making asynchronous requests, then no errors\n are signaled, regardless of the value of NOERROR.\n\nBoth callbacks are called with four arguments.\n 1. For CALLBACK, the combined value of the retrieved pages.\n For ERRORBACk, the error that occured when retrieving the\n last page.\n 2. The headers of the last page as an alist.\n 3. Status information provided by `url-retrieve'. Its `:error'\n property holds the same information as ERRORBACK's first\n argument.\n 4. A `ghub--req' struct, which can be passed to `ghub-continue'\n (which see) to retrieve the next page, if any." #<bytecode>) ("GET" "/repos/emacswatcher/yasnippet-backsolve" nil :query nil :payload nil :unpaginate nil :headers nil :username nil :auth magithub :host nil))
magithub-debug--ghub-request-wrapper(#f(compiled-function (arg1 arg2 &rest rest) "Make a request for RESOURCE and return the response body.\n\nAlso place the response header in `ghub-response-headers'.\n\nMETHOD is the http method, given as a string.\nRESOURCE is the resource to access, given as a string beginning\n with a slash.\n\nPARAMS, QUERY, PAYLOAD and HEADERS are alists used to specify\n data. The Github API documentation is vague on how data has\n to be transmitted and for a particular resource usually just\n talks about \"parameters\". Generally speaking when the METHOD\n is \"HEAD\" or \"GET\", then they have to be transmitted as a\n query, otherwise as a payload.\nUse PARAMS to automatically transmit like QUERY or PAYLOAD would\n depending on METHOD.\nUse QUERY to explicitly transmit data as a query.\nUse PAYLOAD to explicitly transmit data as a payload.\n Instead of an alist, PAYLOAD may also be a string, in which\n case it gets encoded as UTF-8 but is otherwise transmitted as-is.\nUse HEADERS for those rare resources that require that the data\n is transmitted as headers instead of as a query or payload.\n When that is the case, then the API documentation usually\n mentions it explicitly.\n\nIf SILENT is non-nil, then don't message progress reports and\n the like.\n\nIf UNPAGINATE is t, then make as many requests as necessary to\n get all values. If UNPAGINATE is a natural number, then get\n at most that many pages. For any other non-nil value raise\n an error.\nIf NOERROR is non-nil, then do not raise an error if the request\n fails and return nil instead. If NOERROR is `return', then\n return the error payload instead of nil.\nIf READER is non-nil, then it is used to read and return from the\n response buffer. The default is `ghub--read-json-payload'.\n For the very few resources that do not return json, you might\n want to use `ghub--decode-payload'.\n\nIf USERNAME is non-nil, then make a request on behalf of that\n user. It is better to specify the user using the Git variable\n `github.user' for \"api.github.com\", or `github.HOST.user' if\n connecting to a Github Enterprise instance.\n\nEach package that uses `ghub' should use its own token. If AUTH\n is nil, then the generic `ghub' token is used instead. This\n is only acceptable for personal utilities. A packages that\n is distributed to other users should always use this argument\n to identify itself, using a symbol matching its name.\n\n Package authors who find this inconvenient should write a\n wrapper around this function and possibly for the method\n specific functions also.\n\n Some symbols have a special meaning. `none' means to make an\n unauthorized request. `basic' means to make a password based\n request. If the value is a string, then it is assumed to be\n a valid token. `basic' and an explicit token string are only\n intended for internal and debugging uses.\n\n If AUTH is a package symbol, then the scopes are specified\n using the variable `AUTH-github-token-scopes'. It is an error\n if that is not specified. See `ghub-github-token-scopes' for\n an example.\n\nIf HOST is non-nil, then connect to that Github instance. This\n defaults to \"api.github.com\". When a repository is connected\n to a Github Enterprise instance, then it is better to specify\n that using the Git variable `github.host' instead of using this\n argument.\n\nIf FORGE is `gitlab', then connect to Gitlab.com or, depending\n on HOST to another Gitlab instance. This is only intended for\n internal use. Instead of using this argument you should use\n function `glab-request' and other `glab-*' functions.\n\nIf CALLBACK and/or ERRORBACK is non-nil, then make one or more\n asynchronous requests and call CALLBACK or ERRORBACK when\n finished. If an error occurred, then call ERRORBACK, or if\n that is nil, then CALLBACK. When no error occurred then call\n CALLBACK. When making asynchronous requests, then no errors\n are signaled, regardless of the value of NOERROR.\n\nBoth callbacks are called with four arguments.\n 1. For CALLBACK, the combined value of the retrieved pages.\n For ERRORBACk, the error that occured when retrieving the\n last page.\n 2. The headers of the last page as an alist.\n 3. Status information provided by `url-retrieve'. Its `:error'\n property holds the same information as ERRORBACK's first\n argument.\n 4. A `ghub--req' struct, which can be passed to `ghub-continue'\n (which see) to retrieve the next page, if any." #<bytecode>) "GET" "/repos/emacswatcher/yasnippet-backsolve" nil :query nil :payload nil :unpaginate nil :headers nil :username nil :auth magithub :host nil)
apply(magithub-debug--ghub-request-wrapper #f(compiled-function (arg1 arg2 &rest rest) "Make a request for RESOURCE and return the response body.\n\nAlso place the response header in `ghub-response-headers'.\n\nMETHOD is the http method, given as a string.\nRESOURCE is the resource to access, given as a string beginning\n with a slash.\n\nPARAMS, QUERY, PAYLOAD and HEADERS are alists used to specify\n data. The Github API documentation is vague on how data has\n to be transmitted and for a particular resource usually just\n talks about \"parameters\". Generally speaking when the METHOD\n is \"HEAD\" or \"GET\", then they have to be transmitted as a\n query, otherwise as a payload.\nUse PARAMS to automatically transmit like QUERY or PAYLOAD would\n depending on METHOD.\nUse QUERY to explicitly transmit data as a query.\nUse PAYLOAD to explicitly transmit data as a payload.\n Instead of an alist, PAYLOAD may also be a string, in which\n case it gets encoded as UTF-8 but is otherwise transmitted as-is.\nUse HEADERS for those rare resources that require that the data\n is transmitted as headers instead of as a query or payload.\n When that is the case, then the API documentation usually\n mentions it explicitly.\n\nIf SILENT is non-nil, then don't message progress reports and\n the like.\n\nIf UNPAGINATE is t, then make as many requests as necessary to\n get all values. If UNPAGINATE is a natural number, then get\n at most that many pages. For any other non-nil value raise\n an error.\nIf NOERROR is non-nil, then do not raise an error if the request\n fails and return nil instead. If NOERROR is `return', then\n return the error payload instead of nil.\nIf READER is non-nil, then it is used to read and return from the\n response buffer. The default is `ghub--read-json-payload'.\n For the very few resources that do not return json, you might\n want to use `ghub--decode-payload'.\n\nIf USERNAME is non-nil, then make a request on behalf of that\n user. It is better to specify the user using the Git variable\n `github.user' for \"api.github.com\", or `github.HOST.user' if\n connecting to a Github Enterprise instance.\n\nEach package that uses `ghub' should use its own token. If AUTH\n is nil, then the generic `ghub' token is used instead. This\n is only acceptable for personal utilities. A packages that\n is distributed to other users should always use this argument\n to identify itself, using a symbol matching its name.\n\n Package authors who find this inconvenient should write a\n wrapper around this function and possibly for the method\n specific functions also.\n\n Some symbols have a special meaning. `none' means to make an\n unauthorized request. `basic' means to make a password based\n request. If the value is a string, then it is assumed to be\n a valid token. `basic' and an explicit token string are only\n intended for internal and debugging uses.\n\n If AUTH is a package symbol, then the scopes are specified\n using the variable `AUTH-github-token-scopes'. It is an error\n if that is not specified. See `ghub-github-token-scopes' for\n an example.\n\nIf HOST is non-nil, then connect to that Github instance. This\n defaults to \"api.github.com\". When a repository is connected\n to a Github Enterprise instance, then it is better to specify\n that using the Git variable `github.host' instead of using this\n argument.\n\nIf FORGE is `gitlab', then connect to Gitlab.com or, depending\n on HOST to another Gitlab instance. This is only intended for\n internal use. Instead of using this argument you should use\n function `glab-request' and other `glab-*' functions.\n\nIf CALLBACK and/or ERRORBACK is non-nil, then make one or more\n asynchronous requests and call CALLBACK or ERRORBACK when\n finished. If an error occurred, then call ERRORBACK, or if\n that is nil, then CALLBACK. When no error occurred then call\n CALLBACK. When making asynchronous requests, then no errors\n are signaled, regardless of the value of NOERROR.\n\nBoth callbacks are called with four arguments.\n 1. For CALLBACK, the combined value of the retrieved pages.\n For ERRORBACk, the error that occured when retrieving the\n last page.\n 2. The headers of the last page as an alist.\n 3. Status information provided by `url-retrieve'. Its `:error'\n property holds the same information as ERRORBACK's first\n argument.\n 4. A `ghub--req' struct, which can be passed to `ghub-continue'\n (which see) to retrieve the next page, if any." #<bytecode>) ("GET" "/repos/emacswatcher/yasnippet-backsolve" nil :query nil :payload nil :unpaginate nil :headers nil :username nil :auth magithub :host nil))
ghub-request("GET" "/repos/emacswatcher/yasnippet-backsolve" nil :query nil :payload nil :unpaginate nil :headers nil :username nil :auth magithub :host nil)
ghubp-request(get "/repos/emacswatcher/yasnippet-backsolve" nil nil)
apply(ghubp-request get "/repos/emacswatcher/yasnippet-backsolve" (nil nil))
ghubp-get-repos-owner-repo(((owner (login . "emacswatcher")) (name . "yasnippet-backsolve")))
(let ((G349 (ghubp-get-context)) ghubp-contextualize-function) (push (cons 'auth 'magithub) G349) (setq ghubp-contextualize-function (lambda nil G349)) (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve"))))
(ghubp-override-context auth 'magithub (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve"))))
(magithub-request (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve"))))
(or (magithub-request (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve")))) (and (not (magithub--api-available-p)) sparse-repo))
(condition-case e (or (magithub-request (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve")))) (and (not (magithub--api-available-p)) sparse-repo)) (ghub-404 nil))
eval((condition-case e (or (magithub-request (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve")))) (and (not (magithub--api-available-p)) sparse-repo)) (ghub-404 nil)))
magithub-cache(:repo-demographics (condition-case e (or (magithub-request (ghubp-get-repos-owner-repo '((owner (login . "emacswatcher")) (name . "yasnippet-backsolve")))) (and (not (magithub--api-available-p)) sparse-repo)) (ghub-404 nil)))
magithub-repo()
magithub--issue-list()
magithub-pull-requests()
magithub-issue--insert-pr-section()
run-hooks(magit-status-sections-hook)
magit-run-section-hook(magit-status-sections-hook)
magit-status-refresh-buffer()
apply(magit-status-refresh-buffer nil)
magit-refresh-buffer()
magit-mode-setup-internal(magit-status-mode nil)
magit-mode-setup(magit-status-mode)
magit-status-internal("/home/emacs/yasnippet-backsolve/")
magit-status(nil ((113 . 26) (("/home/emacs/yasnippet-backsolve/" "symbolic-ref" #("refs/remotes/origin/HEAD" 13 19 (face magit-branch-remote))) . "refs/remotes/origin/master") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--short" "HEAD~") . "afd27f7") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--short" "HEAD") . "ccccece") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "HEAD~10")) (("/home/emacs/yasnippet-backsolve/" "rev-parse" "@{upstream}") . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "refs/stash")) (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--is-bare-repository") . "false\n") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "BISECT_LOG") . "/home/emacs/yasnippet-backsolve/.git/BISECT_LOG") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "REVERT_HEAD") . "/home/emacs/yasnippet-backsolve/.git/REVERT_HEAD") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "CHERRY_PICK_HEAD") . "/home/emacs/yasnippet-backsolve/.git/CHERRY_PICK_HEAD") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-apply/applying") . "/home/emacs/yasnippet-backsolve/.git/rebase-apply/applying") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-apply/onto") . "/home/emacs/yasnippet-backsolve/.git/rebase-apply/onto") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-merge") . "/home/emacs/yasnippet-backsolve/.git/rebase-merge") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "MERGE_HEAD") . "/home/emacs/yasnippet-backsolve/.git/MERGE_HEAD") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--git-dir") . ".git") (("/home/emacs/yasnippet-backsolve/" "describe" "--contains" "HEAD")) (("/home/emacs/yasnippet-backsolve/" "describe" "--long" "--tags")) (("/home/emacs/yasnippet-backsolve/" "show" "--no-patch" "--format=%s" #("origin/master^{commit}" 0 13 (face magit-branch-remote)) "--") . "add README") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" #("origin/master" 0 13 (face magit-branch-remote))) . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") (("/home/emacs/yasnippet-backsolve/" "show" "--no-patch" "--format=%h %s" "master^{commit}" "--") . "ccccece add README") (("/home/emacs/yasnippet-backsolve/" "symbolic-ref" "--short" "HEAD") . "master") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "HEAD") . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") ((config "/home/emacs/yasnippet-backsolve/") . #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("user.email" ("emacswatcher@gmail.com") "user.name" ("Emacs Watcher") "core.editor" ("emacs") "push.default" ("simple") "github.user" ("emacswatcher") "core.repositoryformatversion" ("0") "core.filemode" ("true") "core.bare" ("false") "core.logallrefupdates" ("true") "remote.origin.url" ("https://github.com/emacswatcher/yasnippet-backsolve.git") "remote.origin.fetch" ("+refs/heads/*:refs/remotes/origin/*") "branch.master.remote" ("origin") "branch.master.merge" ("refs/heads/master") "core.preloadindex" ("true") "log.showsignature" ("false") ...))) (("/home/emacs/yasnippet-backsolve/" . magit-toplevel) . "/home/emacs/yasnippet-backsolve/") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--show-cdup") . "") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--show-toplevel") . "/home/emacs/yasnippet-backsolve")))
funcall-interactively(magit-status nil ((113 . 26) (("/home/emacs/yasnippet-backsolve/" "symbolic-ref" #("refs/remotes/origin/HEAD" 13 19 (face magit-branch-remote))) . "refs/remotes/origin/master") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--short" "HEAD~") . "afd27f7") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--short" "HEAD") . "ccccece") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "HEAD~10")) (("/home/emacs/yasnippet-backsolve/" "rev-parse" "@{upstream}") . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "refs/stash")) (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--is-bare-repository") . "false\n") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "BISECT_LOG") . "/home/emacs/yasnippet-backsolve/.git/BISECT_LOG") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "REVERT_HEAD") . "/home/emacs/yasnippet-backsolve/.git/REVERT_HEAD") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "CHERRY_PICK_HEAD") . "/home/emacs/yasnippet-backsolve/.git/CHERRY_PICK_HEAD") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-apply/applying") . "/home/emacs/yasnippet-backsolve/.git/rebase-apply/applying") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-apply/onto") . "/home/emacs/yasnippet-backsolve/.git/rebase-apply/onto") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "rebase-merge") . "/home/emacs/yasnippet-backsolve/.git/rebase-merge") (("/home/emacs/yasnippet-backsolve/" magit-git-dir "MERGE_HEAD") . "/home/emacs/yasnippet-backsolve/.git/MERGE_HEAD") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--git-dir") . ".git") (("/home/emacs/yasnippet-backsolve/" "describe" "--contains" "HEAD")) (("/home/emacs/yasnippet-backsolve/" "describe" "--long" "--tags")) (("/home/emacs/yasnippet-backsolve/" "show" "--no-patch" "--format=%s" #("origin/master^{commit}" 0 13 (face magit-branch-remote)) "--") . "add README") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" #("origin/master" 0 13 (face magit-branch-remote))) . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") (("/home/emacs/yasnippet-backsolve/" "show" "--no-patch" "--format=%h %s" "master^{commit}" "--") . "ccccece add README") (("/home/emacs/yasnippet-backsolve/" "symbolic-ref" "--short" "HEAD") . "master") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--verify" "HEAD") . "ccccece06a7ffef2cd0e2166a567cb43880cc1b0") ((config "/home/emacs/yasnippet-backsolve/") . #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8125 data ("user.email" ("emacswatcher@gmail.com") "user.name" ("Emacs Watcher") "core.editor" ("emacs") "push.default" ("simple") "github.user" ("emacswatcher") "core.repositoryformatversion" ("0") "core.filemode" ("true") "core.bare" ("false") "core.logallrefupdates" ("true") "remote.origin.url" ("https://github.com/emacswatcher/yasnippet-backsolve.git") "remote.origin.fetch" ("+refs/heads/*:refs/remotes/origin/*") "branch.master.remote" ("origin") "branch.master.merge" ("refs/heads/master") "core.preloadindex" ("true") "log.showsignature" ("false") ...))) (("/home/emacs/yasnippet-backsolve/" . magit-toplevel) . "/home/emacs/yasnippet-backsolve/") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--show-cdup") . "") (("/home/emacs/yasnippet-backsolve/" "rev-parse" "--show-toplevel") . "/home/emacs/yasnippet-backsolve")))
#<subr call-interactively>(magit-status t nil)
elmacro-record-command(#<subr call-interactively> magit-status nil nil)
apply(elmacro-record-command #<subr call-interactively> (magit-status nil nil))
call-interactively(magit-status nil nil)
command-execute(magit-status)
FWIW I am using the minimal config suggested in your docs.
The token is successfully created on github.
It might be a ghub error, but I'm using magithub and I don't know the code.